├── .github ├── dependabot.yml └── workflows │ ├── codeql-analysis.yml │ └── maven.yml ├── .gitignore ├── .replit ├── .travis.settings.xml ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE ├── OCPP-J ├── build.gradle ├── pom.xml └── src │ ├── main │ └── java │ │ └── eu │ │ └── chargetime │ │ └── ocpp │ │ ├── Draft_HttpHealthCheck.java │ │ ├── JSONCommunicator.java │ │ ├── JSONConfiguration.java │ │ ├── WebSocketListener.java │ │ ├── WebSocketReceiver.java │ │ ├── WebSocketReceiverEvents.java │ │ ├── WebSocketTransmitter.java │ │ └── wss │ │ ├── BaseWssFactoryBuilder.java │ │ ├── BaseWssSocketBuilder.java │ │ ├── CustomSSLWebSocketServerFactory.java │ │ ├── WssFactoryBuilder.java │ │ └── WssSocketBuilder.java │ └── test │ └── java │ └── eu │ └── chargetime │ └── ocpp │ └── wss │ └── test │ ├── BaseWssFactoryBuilderTest.java │ ├── BaseWssSocketBuilderTest.java │ └── CustomSSLWebSocketServerFactoryTest.java ├── Object diagram.graphml ├── Object diagram.png ├── README.md ├── build.gradle ├── codecov.yml ├── config └── hooks │ └── pre-commit ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── ocpp-common ├── build.gradle ├── pom.xml └── src │ ├── main │ └── java │ │ └── eu │ │ └── chargetime │ │ └── ocpp │ │ ├── AsyncPromiseFulfillerDecorator.java │ │ ├── AuthenticationException.java │ │ ├── CallErrorException.java │ │ ├── Client.java │ │ ├── ClientEvents.java │ │ ├── Communicator.java │ │ ├── CommunicatorEvents.java │ │ ├── ConfirmationHandler.java │ │ ├── FeatureRepository.java │ │ ├── IFeatureRepository.java │ │ ├── IPromiseRepository.java │ │ ├── IRequestDispactcher.java │ │ ├── ISession.java │ │ ├── ISessionFactory.java │ │ ├── Listener.java │ │ ├── ListenerEvents.java │ │ ├── NotConnectedException.java │ │ ├── OccurenceConstraintException.java │ │ ├── PromiseFulfiller.java │ │ ├── PromiseRepository.java │ │ ├── PropertyConstraintException.java │ │ ├── ProtocolVersion.java │ │ ├── Queue.java │ │ ├── Radio.java │ │ ├── RadioEvents.java │ │ ├── Receiver.java │ │ ├── RequestDispatcher.java │ │ ├── Server.java │ │ ├── ServerEvents.java │ │ ├── Session.java │ │ ├── SessionEvents.java │ │ ├── SessionFactory.java │ │ ├── SimplePromiseFulfiller.java │ │ ├── Transmitter.java │ │ ├── UnsupportedFeatureException.java │ │ ├── ZonedDateTimeAdapter.java │ │ ├── feature │ │ ├── Feature.java │ │ ├── ProfileFeature.java │ │ └── profile │ │ │ └── Profile.java │ │ ├── model │ │ ├── CallErrorMessage.java │ │ ├── CallMessage.java │ │ ├── CallResultMessage.java │ │ ├── Confirmation.java │ │ ├── ConfirmationCompletedHandler.java │ │ ├── Exclude.java │ │ ├── Message.java │ │ ├── Request.java │ │ ├── RequestWithId.java │ │ ├── SessionInformation.java │ │ ├── TestConfirmation.java │ │ ├── TestModel.java │ │ ├── TestRequest.java │ │ ├── Validatable.java │ │ └── validation │ │ │ ├── IValidationRule.java │ │ │ ├── OptionalDecorator.java │ │ │ ├── RequiredDecorator.java │ │ │ ├── RequiredValidator.java │ │ │ ├── StringValidator.java │ │ │ ├── Validator.java │ │ │ └── ValidatorBuilder.java │ │ └── utilities │ │ ├── ModelUtil.java │ │ ├── MoreObjects.java │ │ ├── Stopwatch.java │ │ ├── SugarUtil.java │ │ ├── TestUtilities.java │ │ ├── TimeoutHandler.java │ │ └── TimeoutTimer.java │ └── test │ └── java │ └── eu │ └── chargetime │ └── ocpp │ ├── test │ ├── ClientTest.java │ ├── CommunicatorTest.java │ ├── FeatureRepositoryTest.java │ ├── QueueTest.java │ ├── ServerTest.java │ ├── SessionTest.java │ └── SimpleRequestDispatcherTest.java │ └── utilities │ └── test │ ├── ModelUtilTest.java │ ├── MoreObjectsTest.java │ └── StopwatchTest.java ├── ocpp-v1_6-example ├── json-client-implementation │ ├── .gitignore │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── eu │ │ │ │ └── chargetime │ │ │ │ └── ocpp │ │ │ │ └── jsonclientimplementation │ │ │ │ ├── JsonClientImplementationApplication.java │ │ │ │ └── config │ │ │ │ └── ApiConfigurations.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ └── java │ │ └── eu │ │ └── chargetime │ │ └── ocpp │ │ └── jsonclientimplementation │ │ ├── JsonClientImplementationApplicationTests.java │ │ └── ocpphandler │ │ ├── ClientCoreEventHandlerConfig.java │ │ ├── ClientCoreProfileConfig.java │ │ ├── JsonClientConfig.java │ │ └── OCPPHandlerTest.java ├── json_server_example │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── eu │ │ │ │ └── chargetime │ │ │ │ └── ocpp │ │ │ │ └── jsonserverimplementation │ │ │ │ ├── JsonServerImplementationApplication.java │ │ │ │ ├── config │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ ├── JsonServerConfig.java │ │ │ │ ├── ServerCoreProfileConfig.java │ │ │ │ └── ServerEventConfig.java │ │ │ │ └── server │ │ │ │ └── JsonServerImpl.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ └── java │ │ └── eu │ │ └── chargetime │ │ └── ocpp │ │ └── jsonserverimplementation │ │ ├── JsonServerImplementationApplicationTests.java │ │ ├── config │ │ ├── TestJsonServerConfig.java │ │ ├── TestServerCoreProfileConfig.java │ │ └── TestServerEventConfig.java │ │ ├── handler │ │ └── AuthorizeHandlerTest.java │ │ └── server │ │ └── JsonServerImplTest.java └── src │ └── main │ └── core_features │ ├── JSONClientSample.java │ ├── JSONServerSample.java │ ├── SOAPClientSample.java │ └── SOAPServerSample.java ├── ocpp-v1_6-test ├── build.gradle ├── pom.xml └── src │ ├── main │ └── java │ │ └── eu │ │ └── chargetime │ │ └── ocpp │ │ └── test │ │ ├── DummyHandlers.java │ │ ├── FakeCentral.java │ │ ├── FakeCentralSystem.java │ │ ├── FakeChargePoint.java │ │ ├── JSONTestClient.java │ │ ├── JSONTestServer.java │ │ ├── SOAPTestClient.java │ │ ├── SOAPTestServer.java │ │ └── TestSessionFactory.java │ └── test │ └── groovy │ └── eu │ └── chargetime │ └── ocpp │ └── test │ ├── base │ ├── json │ │ └── JSONBaseSpec.groovy │ └── soap │ │ └── SOAPBaseSpec.groovy │ ├── features │ └── OfflineTransactionSpec.groovy │ └── profiles │ ├── core │ ├── json │ │ ├── JSONAuthorizeSpec.groovy │ │ ├── JSONBootNotificationSpec.groovy │ │ ├── JSONChangeAvailabilitySpec.groovy │ │ ├── JSONChangeConfigurationSpec.groovy │ │ ├── JSONClearCacheSpec.groovy │ │ ├── JSONDataTransferSpec.groovy │ │ ├── JSONGetConfigurationSpec.groovy │ │ ├── JSONHeartbeatSpec.groovy │ │ ├── JSONMeterValuesSpec.groovy │ │ ├── JSONRemoteStartTransactionSpec.groovy │ │ ├── JSONRemoteStopTransactionSpec.groovy │ │ ├── JSONResetSpec.groovy │ │ ├── JSONStartTransactionSpec.groovy │ │ ├── JSONStatusNotificationSpec.groovy │ │ ├── JSONStopTransactionSpec.groovy │ │ └── JSONUnlockConnectorSpec.groovy │ └── soap │ │ ├── SOAPAuthorizeSpec.groovy │ │ ├── SOAPBootNotificationSpec.groovy │ │ ├── SOAPChangeAvailabilitySpec.groovy │ │ ├── SOAPChangeConfigurationSpec.groovy │ │ ├── SOAPClearCacheSpec.groovy │ │ ├── SOAPDataTransferSpec.groovy │ │ ├── SOAPGetConfigurationSpec.groovy │ │ ├── SOAPHeartbeatSpec.groovy │ │ ├── SOAPMeterValuesSpec.groovy │ │ ├── SOAPRemoteStartTransactionSpec.groovy │ │ ├── SOAPRemoteStopTransactionSpec.groovy │ │ ├── SOAPResetSpec.groovy │ │ ├── SOAPStartTransactionSpec.groovy │ │ ├── SOAPStatusNotificationSpec.groovy │ │ ├── SOAPStopTransactionSpec.groovy │ │ └── SOAPUnlockConnectorSpec.groovy │ ├── firmware │ └── json │ │ ├── JSONDiagnosticsStatusNotificationSpec.groovy │ │ ├── JSONFirmwareStatusNotificationSpec.groovy │ │ ├── JSONGetDiagnosticsSpec.groovy │ │ └── JSONUpdateFirmwareSpec.groovy │ ├── localauthlist │ └── json │ │ ├── JSONGetLocalListVersionSpec.groovy │ │ └── JSONSendLocalListSpec.groovy │ ├── reservation │ └── json │ │ ├── JSONCancelReservationSpec.groovy │ │ └── JSONReserveNowSpec.groovy │ ├── securityext │ └── json │ │ ├── JSONCertificateSignedSpec.groovy │ │ ├── JSONDeleteCertificateSpec.groovy │ │ ├── JSONExtendedTriggerMessageSpec.groovy │ │ ├── JSONGetInstalledCertificateIdsSpec.groovy │ │ ├── JSONGetLogSpec.groovy │ │ ├── JSONInstallCertificateSpec.groovy │ │ ├── JSONLogStatusNotificationSpec.groovy │ │ ├── JSONSecurityEventNotificationSpec.groovy │ │ ├── JSONSignCertificateSpec.groovy │ │ ├── JSONSignedFirmwareStatusNotificationSpec.groovy │ │ └── JSONSignedUpdateFirmwareSpec.groovy │ └── smartcharging │ └── json │ └── JSONSetChargingProfileSpec.groovy ├── ocpp-v1_6 ├── build.gradle ├── out │ └── production │ │ └── resources │ │ └── eu │ │ └── chargetime │ │ └── ocpp │ │ ├── OCPP_CentralSystemService_1.6.wsdl │ │ └── OCPP_ChargePointService_1.6.wsdl ├── pom.xml └── src │ ├── main │ ├── java │ │ └── eu │ │ │ └── chargetime │ │ │ └── ocpp │ │ │ ├── IClientAPI.java │ │ │ ├── IServerAPI.java │ │ │ ├── JSONClient.java │ │ │ ├── JSONServer.java │ │ │ ├── SOAPClient.java │ │ │ ├── SOAPCommunicator.java │ │ │ ├── SOAPMessageInfo.java │ │ │ ├── SOAPServer.java │ │ │ ├── SOAPSyncHelper.java │ │ │ ├── TimeoutSessionDecorator.java │ │ │ ├── WSHttpHandler.java │ │ │ ├── WSHttpHandlerEvents.java │ │ │ ├── WebServiceListener.java │ │ │ ├── WebServiceReceiver.java │ │ │ ├── WebServiceReceiverEvents.java │ │ │ ├── WebServiceTransmitter.java │ │ │ ├── feature │ │ │ ├── AuthorizeFeature.java │ │ │ ├── BootNotificationFeature.java │ │ │ ├── CancelReservationFeature.java │ │ │ ├── ChangeAvailabilityFeature.java │ │ │ ├── ChangeConfigurationFeature.java │ │ │ ├── ClearCacheFeature.java │ │ │ ├── ClearChargingProfileFeature.java │ │ │ ├── DataTransferFeature.java │ │ │ ├── DiagnosticsStatusNotificationFeature.java │ │ │ ├── FirmwareStatusNotificationFeature.java │ │ │ ├── GetCompositeScheduleFeature.java │ │ │ ├── GetConfigurationFeature.java │ │ │ ├── GetDiagnosticsFeature.java │ │ │ ├── GetLocalListVersionFeature.java │ │ │ ├── HeartbeatFeature.java │ │ │ ├── MeterValuesFeature.java │ │ │ ├── RemoteStartTransactionFeature.java │ │ │ ├── RemoteStopTransactionFeature.java │ │ │ ├── ReserveNowFeature.java │ │ │ ├── ResetFeature.java │ │ │ ├── SendLocalListFeature.java │ │ │ ├── SetChargingProfileFeature.java │ │ │ ├── StartTransactionFeature.java │ │ │ ├── StatusNotificationFeature.java │ │ │ ├── StopTransactionFeature.java │ │ │ ├── TriggerMessageFeature.java │ │ │ ├── UnlockConnectorFeature.java │ │ │ ├── UpdateFirmwareFeature.java │ │ │ ├── profile │ │ │ │ ├── ClientCoreEventHandler.java │ │ │ │ ├── ClientCoreProfile.java │ │ │ │ ├── ClientFirmwareManagementEventHandler.java │ │ │ │ ├── ClientFirmwareManagementProfile.java │ │ │ │ ├── ClientLocalAuthListEventHandler.java │ │ │ │ ├── ClientLocalAuthListProfile.java │ │ │ │ ├── ClientRemoteTriggerEventHandler.java │ │ │ │ ├── ClientRemoteTriggerProfile.java │ │ │ │ ├── ClientReservationEventHandler.java │ │ │ │ ├── ClientReservationProfile.java │ │ │ │ ├── ClientSmartChargingEventHandler.java │ │ │ │ ├── ClientSmartChargingProfile.java │ │ │ │ ├── ServerCoreEventHandler.java │ │ │ │ ├── ServerCoreProfile.java │ │ │ │ ├── ServerFirmwareManagementEventHandler.java │ │ │ │ ├── ServerFirmwareManagementProfile.java │ │ │ │ ├── ServerLocalAuthListProfile.java │ │ │ │ ├── ServerRemoteTriggerProfile.java │ │ │ │ ├── ServerReservationProfile.java │ │ │ │ ├── ServerSmartChargingProfile.java │ │ │ │ └── securityext │ │ │ │ │ ├── ClientSecurityExtEventHandler.java │ │ │ │ │ ├── ClientSecurityExtProfile.java │ │ │ │ │ ├── ServerSecurityExtEventHandler.java │ │ │ │ │ └── ServerSecurityExtProfile.java │ │ │ └── securityext │ │ │ │ ├── CertificateSignedFeature.java │ │ │ │ ├── DeleteCertificateFeature.java │ │ │ │ ├── ExtendedTriggerMessageFeature.java │ │ │ │ ├── GetInstalledCertificateIdsFeature.java │ │ │ │ ├── GetLogFeature.java │ │ │ │ ├── InstallCertificateFeature.java │ │ │ │ ├── LogStatusNotificationFeature.java │ │ │ │ ├── SecurityEventNotificationFeature.java │ │ │ │ ├── SignCertificateFeature.java │ │ │ │ ├── SignedFirmwareStatusNotificationFeature.java │ │ │ │ └── SignedUpdateFirmwareFeature.java │ │ │ └── model │ │ │ ├── SOAPHostInfo.java │ │ │ ├── core │ │ │ ├── AuthorizationStatus.java │ │ │ ├── AuthorizeConfirmation.java │ │ │ ├── AuthorizeRequest.java │ │ │ ├── AvailabilityStatus.java │ │ │ ├── AvailabilityType.java │ │ │ ├── BootNotificationConfirmation.java │ │ │ ├── BootNotificationRequest.java │ │ │ ├── ChangeAvailabilityConfirmation.java │ │ │ ├── ChangeAvailabilityRequest.java │ │ │ ├── ChangeConfigurationConfirmation.java │ │ │ ├── ChangeConfigurationRequest.java │ │ │ ├── ChargePointErrorCode.java │ │ │ ├── ChargePointStatus.java │ │ │ ├── ChargingProfile.java │ │ │ ├── ChargingProfileKindType.java │ │ │ ├── ChargingProfilePurposeType.java │ │ │ ├── ChargingRateUnitType.java │ │ │ ├── ChargingSchedule.java │ │ │ ├── ChargingSchedulePeriod.java │ │ │ ├── ClearCacheConfirmation.java │ │ │ ├── ClearCacheRequest.java │ │ │ ├── ClearCacheStatus.java │ │ │ ├── ConfigurationStatus.java │ │ │ ├── DataTransferConfirmation.java │ │ │ ├── DataTransferRequest.java │ │ │ ├── DataTransferStatus.java │ │ │ ├── GetConfigurationConfirmation.java │ │ │ ├── GetConfigurationRequest.java │ │ │ ├── HeartbeatConfirmation.java │ │ │ ├── HeartbeatRequest.java │ │ │ ├── IdTagInfo.java │ │ │ ├── KeyValueType.java │ │ │ ├── Location.java │ │ │ ├── MeterValue.java │ │ │ ├── MeterValuesConfirmation.java │ │ │ ├── MeterValuesRequest.java │ │ │ ├── Reason.java │ │ │ ├── RecurrencyKindType.java │ │ │ ├── RegistrationStatus.java │ │ │ ├── RemoteStartStopStatus.java │ │ │ ├── RemoteStartTransactionConfirmation.java │ │ │ ├── RemoteStartTransactionRequest.java │ │ │ ├── RemoteStopTransactionConfirmation.java │ │ │ ├── RemoteStopTransactionRequest.java │ │ │ ├── ResetConfirmation.java │ │ │ ├── ResetRequest.java │ │ │ ├── ResetStatus.java │ │ │ ├── ResetType.java │ │ │ ├── SampledValue.java │ │ │ ├── StartTransactionConfirmation.java │ │ │ ├── StartTransactionRequest.java │ │ │ ├── StatusNotificationConfirmation.java │ │ │ ├── StatusNotificationRequest.java │ │ │ ├── StopTransactionConfirmation.java │ │ │ ├── StopTransactionRequest.java │ │ │ ├── UnlockConnectorConfirmation.java │ │ │ ├── UnlockConnectorRequest.java │ │ │ ├── UnlockStatus.java │ │ │ ├── ValueFormat.java │ │ │ └── package-info.java │ │ │ ├── firmware │ │ │ ├── DiagnosticsStatus.java │ │ │ ├── DiagnosticsStatusNotificationConfirmation.java │ │ │ ├── DiagnosticsStatusNotificationRequest.java │ │ │ ├── FirmwareStatus.java │ │ │ ├── FirmwareStatusNotificationConfirmation.java │ │ │ ├── FirmwareStatusNotificationRequest.java │ │ │ ├── GetDiagnosticsConfirmation.java │ │ │ ├── GetDiagnosticsRequest.java │ │ │ ├── UpdateFirmwareConfirmation.java │ │ │ ├── UpdateFirmwareRequest.java │ │ │ └── package-info.java │ │ │ ├── localauthlist │ │ │ ├── AuthorizationData.java │ │ │ ├── GetLocalListVersionConfirmation.java │ │ │ ├── GetLocalListVersionRequest.java │ │ │ ├── SendLocalListConfirmation.java │ │ │ ├── SendLocalListRequest.java │ │ │ ├── UpdateStatus.java │ │ │ ├── UpdateType.java │ │ │ └── package-info.java │ │ │ ├── remotetrigger │ │ │ ├── TriggerMessageConfirmation.java │ │ │ ├── TriggerMessageRequest.java │ │ │ ├── TriggerMessageRequestType.java │ │ │ ├── TriggerMessageStatus.java │ │ │ └── package-info.java │ │ │ ├── reservation │ │ │ ├── CancelReservationConfirmation.java │ │ │ ├── CancelReservationRequest.java │ │ │ ├── CancelReservationStatus.java │ │ │ ├── ReservationStatus.java │ │ │ ├── ReserveNowConfirmation.java │ │ │ └── ReserveNowRequest.java │ │ │ ├── securityext │ │ │ ├── CertificateSignedConfirmation.java │ │ │ ├── CertificateSignedRequest.java │ │ │ ├── DeleteCertificateConfirmation.java │ │ │ ├── DeleteCertificateRequest.java │ │ │ ├── ExtendedTriggerMessageConfirmation.java │ │ │ ├── ExtendedTriggerMessageRequest.java │ │ │ ├── GetInstalledCertificateIdsConfirmation.java │ │ │ ├── GetInstalledCertificateIdsRequest.java │ │ │ ├── GetLogConfirmation.java │ │ │ ├── GetLogRequest.java │ │ │ ├── InstallCertificateConfirmation.java │ │ │ ├── InstallCertificateRequest.java │ │ │ ├── LogStatusNotificationConfirmation.java │ │ │ ├── LogStatusNotificationRequest.java │ │ │ ├── SecurityEventNotificationConfirmation.java │ │ │ ├── SecurityEventNotificationRequest.java │ │ │ ├── SignCertificateConfirmation.java │ │ │ ├── SignCertificateRequest.java │ │ │ ├── SignedFirmwareStatusNotificationConfirmation.java │ │ │ ├── SignedFirmwareStatusNotificationRequest.java │ │ │ ├── SignedUpdateFirmwareConfirmation.java │ │ │ ├── SignedUpdateFirmwareRequest.java │ │ │ └── types │ │ │ │ ├── CertificateHashDataType.java │ │ │ │ ├── CertificateSignedStatusEnumType.java │ │ │ │ ├── CertificateStatusEnumType.java │ │ │ │ ├── CertificateUseEnumType.java │ │ │ │ ├── DeleteCertificateStatusEnumType.java │ │ │ │ ├── FirmwareStatusEnumType.java │ │ │ │ ├── FirmwareType.java │ │ │ │ ├── GenericStatusEnumType.java │ │ │ │ ├── GetInstalledCertificateStatusEnumType.java │ │ │ │ ├── HashAlgorithmEnumType.java │ │ │ │ ├── LogEnumType.java │ │ │ │ ├── LogParametersType.java │ │ │ │ ├── LogStatusEnumType.java │ │ │ │ ├── MessageTriggerEnumType.java │ │ │ │ ├── TriggerMessageStatusEnumType.java │ │ │ │ ├── UpdateFirmwareStatusEnumType.java │ │ │ │ └── UploadLogStatusEnumType.java │ │ │ ├── smartcharging │ │ │ ├── ChargingProfileStatus.java │ │ │ ├── ChargingRateUnitType.java │ │ │ ├── ClearChargingProfileConfirmation.java │ │ │ ├── ClearChargingProfileRequest.java │ │ │ ├── ClearChargingProfileStatus.java │ │ │ ├── GetCompositeScheduleConfirmation.java │ │ │ ├── GetCompositeScheduleRequest.java │ │ │ ├── GetCompositeScheduleStatus.java │ │ │ ├── SetChargingProfileConfirmation.java │ │ │ ├── SetChargingProfileRequest.java │ │ │ └── package-info.java │ │ │ └── validation │ │ │ ├── IdentifierStringValidationRule.java │ │ │ ├── OCPPSecurityExtDatatypes.java │ │ │ └── StringMaxLengthValidationRule.java │ └── resources │ │ └── eu │ │ └── chargetime │ │ └── ocpp │ │ ├── OCPP_CentralSystemService_1.6.wsdl │ │ └── OCPP_ChargePointService_1.6.wsdl │ └── test │ └── java │ └── eu │ └── chargetime │ └── ocpp │ ├── feature │ └── profile │ │ └── test │ │ ├── ClientCoreProfileTest.java │ │ ├── ClientFirmwareManagementProfileTest.java │ │ ├── ClientLocalAuthListProfileTest.java │ │ ├── ClientRemoteTriggerProfileTest.java │ │ ├── ClientReservationProfileTest.java │ │ ├── ClientSmartChargingProfileTest.java │ │ ├── ProfileTest.java │ │ ├── ServerCoreProfileTest.java │ │ ├── ServerFirmwareManagementProfileTest.java │ │ ├── ServerLocalAuthListProfileTest.java │ │ ├── ServerRemoteTriggerProfileTest.java │ │ ├── ServerReservationProfileTest.java │ │ ├── ServerSmartChargingProfileTest.java │ │ └── securityext │ │ ├── ClientSecurityExtProfileTest.java │ │ └── ServerSecurityExtProfileTest.java │ ├── model │ ├── core │ │ ├── MeterValuesRequestTest.java │ │ └── test │ │ │ └── BootNotificationRequestTest.java │ ├── firmware │ │ └── test │ │ │ ├── DiagnosticsStatusNotificationConfirmationTest.java │ │ │ ├── DiagnosticsStatusNotificationRequestTest.java │ │ │ ├── FirmwareStatusNotificationConfirmationTest.java │ │ │ ├── FirmwareStatusNotificationRequestTest.java │ │ │ ├── GetDiagnosticsConfirmationTest.java │ │ │ ├── GetDiagnosticsRequestTest.java │ │ │ ├── UpdateFirmwareConfirmationTest.java │ │ │ └── UpdateFirmwareRequestTest.java │ ├── localauthlist │ │ └── test │ │ │ ├── GetLocalListVersionConfirmationTest.java │ │ │ ├── GetLocalListVersionRequestTest.java │ │ │ ├── SendLocalListConfirmationTest.java │ │ │ └── SendLocalListRequestTest.java │ ├── reservation │ │ └── test │ │ │ ├── CancelReservationConfirmationTest.java │ │ │ ├── CancelReservationRequestTest.java │ │ │ ├── ReserveNowConfirmationTest.java │ │ │ └── ReserveNowRequestTest.java │ ├── securityext │ │ └── test │ │ │ ├── CertificateSignedConfirmationTest.java │ │ │ ├── CertificateSignedRequestTest.java │ │ │ ├── DeleteCertificateConfirmationTest.java │ │ │ ├── DeleteCertificateRequestTest.java │ │ │ ├── ExtendedTriggerMessageConfirmationTest.java │ │ │ ├── ExtendedTriggerMessageRequestTest.java │ │ │ ├── GetInstalledCertificateIdsConfirmationTest.java │ │ │ ├── GetInstalledCertificateIdsRequestTest.java │ │ │ ├── GetLogConfirmationTest.java │ │ │ ├── GetLogRequestTest.java │ │ │ ├── InstallCertificateConfirmationTest.java │ │ │ ├── InstallCertificateRequestTest.java │ │ │ ├── LogStatusNotificationConfirmationTest.java │ │ │ ├── LogStatusNotificationRequestTest.java │ │ │ ├── SecurityEventNotificationConfirmationTest.java │ │ │ ├── SecurityEventNotificationRequestTest.java │ │ │ ├── SignCertificateConfirmationTest.java │ │ │ ├── SignCertificateRequestTest.java │ │ │ ├── SignedFirmwareStatusNotificationConfirmationTest.java │ │ │ ├── SignedFirmwareStatusNotificationRequestTest.java │ │ │ ├── SignedUpdateFirmwareConfirmationTest.java │ │ │ ├── SignedUpdateFirmwareRequestTest.java │ │ │ └── types │ │ │ ├── CertificateHashDataTypeTest.java │ │ │ ├── FirmwareTypeTest.java │ │ │ └── LogParametersTypeTest.java │ ├── smartcharging │ │ └── ClearChargingProfileRequestTest.java │ └── test │ │ ├── AuthorizeConfirmationTest.java │ │ ├── AuthorizeRequestTest.java │ │ ├── BootNotificationConfirmationTest.java │ │ ├── BootNotificationRequestTest.java │ │ ├── ChangeAvailabilityConfirmationTest.java │ │ ├── ChangeAvailabilityRequestTest.java │ │ ├── ChangeConfigurationConfirmationTest.java │ │ ├── ChangeConfigurationRequestTest.java │ │ ├── ChargingProfileTest.java │ │ ├── ChargingSchedulePeriodTest.java │ │ ├── ChargingScheduleTest.java │ │ ├── ClearCacheConfirmationTest.java │ │ ├── ClearCacheRequestTest.java │ │ ├── DataTransferConfirmationTest.java │ │ ├── DataTransferRequestTest.java │ │ ├── GetCompositeScheduleRequestTest.java │ │ ├── GetConfigurationConfirmationTest.java │ │ ├── GetConfigurationRequestTest.java │ │ ├── HeartbeatConfirmationTest.java │ │ ├── HeartbeatRequestTest.java │ │ ├── IdTagInfoTest.java │ │ ├── KeyValueTypeTest.java │ │ ├── MeterValueTest.java │ │ ├── MeterValuesConfirmationTest.java │ │ ├── MeterValuesRequestTest.java │ │ ├── RemoteStartTransactionConfirmationTest.java │ │ ├── RemoteStartTransactionRequestTest.java │ │ ├── RemoteStopTransactionConfirmationTest.java │ │ ├── RemoteStopTransactionRequestTest.java │ │ ├── ResetConfirmationTest.java │ │ ├── ResetRequestTest.java │ │ ├── SampledValueTest.java │ │ ├── SetChargingProfileConfirmationTest.java │ │ ├── SetChargingProfileRequestTest.java │ │ ├── StartTransactionConfirmationTest.java │ │ ├── StartTransactionRequestTest.java │ │ ├── StatusNotificationConfirmationTest.java │ │ ├── StatusNotificationRequestTest.java │ │ ├── StopTransactionConfirmationTest.java │ │ ├── StopTransactionRequestTest.java │ │ ├── TriggerMessageConfirmationTest.java │ │ ├── TriggerMessageRequestTest.java │ │ ├── UnlockConnectorConfirmationTest.java │ │ └── UnlockConnectorRequestTest.java │ └── test │ ├── JSONCommunicatorTest.java │ ├── SOAPCommunicatorTest.java │ └── TimeoutSessionTest.java ├── ocpp-v2-test ├── build.gradle ├── pom.xml └── src │ ├── main │ └── java │ │ └── eu │ │ └── chargetime │ │ └── ocpp │ │ └── test │ │ ├── FakeCSMS.java │ │ ├── FakeChargingStation.java │ │ ├── OCPP201MultiProtocolDummyHandlers.java │ │ ├── OCPP201MultiProtocolFakeCSMS.java │ │ └── OCPP201MultiProtocolFakeChargingStation.java │ └── test │ └── java │ └── eu │ └── chargetime │ └── ocpp │ └── test │ └── OCPP201MultiProtocolIntegrationTest.java ├── ocpp-v2 ├── build.gradle ├── pom.xml └── src │ ├── main │ └── java │ │ └── eu │ │ └── chargetime │ │ └── ocpp │ │ ├── IMultiProtocolClientAPI.java │ │ ├── IMultiProtocolServerAPI.java │ │ ├── MultiProtocolFeatureRepository.java │ │ ├── MultiProtocolJSONClient.java │ │ ├── MultiProtocolJSONServer.java │ │ ├── MultiProtocolSessionFactory.java │ │ ├── MultiProtocolWebSocketListener.java │ │ ├── MultiProtocolWebSocketTransmitter.java │ │ ├── feature │ │ ├── FunctionFeature.java │ │ └── function │ │ │ └── Function.java │ │ └── v201 │ │ ├── feature │ │ ├── AuthorizeFeature.java │ │ ├── BootNotificationFeature.java │ │ ├── CancelReservationFeature.java │ │ ├── CertificateSignedFeature.java │ │ ├── ChangeAvailabilityFeature.java │ │ ├── ClearCacheFeature.java │ │ ├── ClearChargingProfileFeature.java │ │ ├── ClearDisplayMessageFeature.java │ │ ├── ClearVariableMonitoringFeature.java │ │ ├── ClearedChargingLimitFeature.java │ │ ├── CostUpdatedFeature.java │ │ ├── CustomerInformationFeature.java │ │ ├── DataTransferFeature.java │ │ ├── DeleteCertificateFeature.java │ │ ├── FirmwareStatusNotificationFeature.java │ │ ├── Get15118EVCertificateFeature.java │ │ ├── GetBaseReportFeature.java │ │ ├── GetCertificateStatusFeature.java │ │ ├── GetChargingProfilesFeature.java │ │ ├── GetCompositeScheduleFeature.java │ │ ├── GetDisplayMessagesFeature.java │ │ ├── GetInstalledCertificateIdsFeature.java │ │ ├── GetLocalListVersionFeature.java │ │ ├── GetLogFeature.java │ │ ├── GetMonitoringReportFeature.java │ │ ├── GetReportFeature.java │ │ ├── GetTransactionStatusFeature.java │ │ ├── GetVariablesFeature.java │ │ ├── HeartbeatFeature.java │ │ ├── InstallCertificateFeature.java │ │ ├── LogStatusNotificationFeature.java │ │ ├── MeterValuesFeature.java │ │ ├── NotifyChargingLimitFeature.java │ │ ├── NotifyCustomerInformationFeature.java │ │ ├── NotifyDisplayMessagesFeature.java │ │ ├── NotifyEVChargingNeedsFeature.java │ │ ├── NotifyEVChargingScheduleFeature.java │ │ ├── NotifyEventFeature.java │ │ ├── NotifyMonitoringReportFeature.java │ │ ├── NotifyReportFeature.java │ │ ├── PublishFirmwareFeature.java │ │ ├── PublishFirmwareStatusNotificationFeature.java │ │ ├── ReportChargingProfilesFeature.java │ │ ├── RequestStartTransactionFeature.java │ │ ├── RequestStopTransactionFeature.java │ │ ├── ReservationStatusUpdateFeature.java │ │ ├── ReserveNowFeature.java │ │ ├── ResetFeature.java │ │ ├── SecurityEventNotificationFeature.java │ │ ├── SendLocalListFeature.java │ │ ├── SetChargingProfileFeature.java │ │ ├── SetDisplayMessageFeature.java │ │ ├── SetMonitoringBaseFeature.java │ │ ├── SetMonitoringLevelFeature.java │ │ ├── SetNetworkProfileFeature.java │ │ ├── SetVariableMonitoringFeature.java │ │ ├── SetVariablesFeature.java │ │ ├── SignCertificateFeature.java │ │ ├── StatusNotificationFeature.java │ │ ├── TransactionEventFeature.java │ │ ├── TriggerMessageFeature.java │ │ ├── UnlockConnectorFeature.java │ │ ├── UnpublishFirmwareFeature.java │ │ ├── UpdateFirmwareFeature.java │ │ └── function │ │ │ ├── ClientAuthorizationEventHandler.java │ │ │ ├── ClientAuthorizationFunction.java │ │ │ ├── ClientAvailabilityEventHandler.java │ │ │ ├── ClientAvailabilityFunction.java │ │ │ ├── ClientDataTransferEventHandler.java │ │ │ ├── ClientDataTransferFunction.java │ │ │ ├── ClientDiagnosticsEventHandler.java │ │ │ ├── ClientDiagnosticsFunction.java │ │ │ ├── ClientDisplayMessageEventHandler.java │ │ │ ├── ClientDisplayMessageFunction.java │ │ │ ├── ClientFirmwareManagementEventHandler.java │ │ │ ├── ClientFirmwareManagementFunction.java │ │ │ ├── ClientISO15118CertificateManagementEventHandler.java │ │ │ ├── ClientISO15118CertificateManagementFunction.java │ │ │ ├── ClientLocalAuthorizationListManagementEventHandler.java │ │ │ ├── ClientLocalAuthorizationListManagementFunction.java │ │ │ ├── ClientMeterValuesFunction.java │ │ │ ├── ClientProvisioningEventHandler.java │ │ │ ├── ClientProvisioningFunction.java │ │ │ ├── ClientRemoteControlEventHandler.java │ │ │ ├── ClientRemoteControlFunction.java │ │ │ ├── ClientReservationEventHandler.java │ │ │ ├── ClientReservationFunction.java │ │ │ ├── ClientSecurityEventHandler.java │ │ │ ├── ClientSecurityFunction.java │ │ │ ├── ClientSmartChargingEventHandler.java │ │ │ ├── ClientSmartChargingFunction.java │ │ │ ├── ClientTariffAndCostEventHandler.java │ │ │ ├── ClientTariffAndCostFunction.java │ │ │ ├── ClientTransactionsEventHandler.java │ │ │ ├── ClientTransactionsFunction.java │ │ │ ├── ServerAuthorizationEventHandler.java │ │ │ ├── ServerAuthorizationFunction.java │ │ │ ├── ServerAvailabilityEventHandler.java │ │ │ ├── ServerAvailabilityFunction.java │ │ │ ├── ServerDataTransferEventHandler.java │ │ │ ├── ServerDataTransferFunction.java │ │ │ ├── ServerDiagnosticsEventHandler.java │ │ │ ├── ServerDiagnosticsFunction.java │ │ │ ├── ServerDisplayMessageEventHandler.java │ │ │ ├── ServerDisplayMessageFunction.java │ │ │ ├── ServerFirmwareManagementEventHandler.java │ │ │ ├── ServerFirmwareManagementFunction.java │ │ │ ├── ServerISO15118CertificateManagementEventHandler.java │ │ │ ├── ServerISO15118CertificateManagementFunction.java │ │ │ ├── ServerLocalAuthorizationListManagementFunction.java │ │ │ ├── ServerMeterValuesEventHandler.java │ │ │ ├── ServerMeterValuesFunction.java │ │ │ ├── ServerProvisioningEventHandler.java │ │ │ ├── ServerProvisioningFunction.java │ │ │ ├── ServerRemoteControlFunction.java │ │ │ ├── ServerReservationEventHandler.java │ │ │ ├── ServerReservationFunction.java │ │ │ ├── ServerSecurityEventHandler.java │ │ │ ├── ServerSecurityFunction.java │ │ │ ├── ServerSmartChargingEventHandler.java │ │ │ ├── ServerSmartChargingFunction.java │ │ │ ├── ServerTariffAndCostFunction.java │ │ │ ├── ServerTransactionsEventHandler.java │ │ │ └── ServerTransactionsFunction.java │ │ └── model │ │ ├── messages │ │ ├── AuthorizeRequest.java │ │ ├── AuthorizeResponse.java │ │ ├── BootNotificationRequest.java │ │ ├── BootNotificationResponse.java │ │ ├── CancelReservationRequest.java │ │ ├── CancelReservationResponse.java │ │ ├── CertificateSignedRequest.java │ │ ├── CertificateSignedResponse.java │ │ ├── ChangeAvailabilityRequest.java │ │ ├── ChangeAvailabilityResponse.java │ │ ├── ClearCacheRequest.java │ │ ├── ClearCacheResponse.java │ │ ├── ClearChargingProfileRequest.java │ │ ├── ClearChargingProfileResponse.java │ │ ├── ClearDisplayMessageRequest.java │ │ ├── ClearDisplayMessageResponse.java │ │ ├── ClearVariableMonitoringRequest.java │ │ ├── ClearVariableMonitoringResponse.java │ │ ├── ClearedChargingLimitRequest.java │ │ ├── ClearedChargingLimitResponse.java │ │ ├── CostUpdatedRequest.java │ │ ├── CostUpdatedResponse.java │ │ ├── CustomerInformationRequest.java │ │ ├── CustomerInformationResponse.java │ │ ├── DataTransferRequest.java │ │ ├── DataTransferResponse.java │ │ ├── DeleteCertificateRequest.java │ │ ├── DeleteCertificateResponse.java │ │ ├── FirmwareStatusNotificationRequest.java │ │ ├── FirmwareStatusNotificationResponse.java │ │ ├── Get15118EVCertificateRequest.java │ │ ├── Get15118EVCertificateResponse.java │ │ ├── GetBaseReportRequest.java │ │ ├── GetBaseReportResponse.java │ │ ├── GetCertificateStatusRequest.java │ │ ├── GetCertificateStatusResponse.java │ │ ├── GetChargingProfilesRequest.java │ │ ├── GetChargingProfilesResponse.java │ │ ├── GetCompositeScheduleRequest.java │ │ ├── GetCompositeScheduleResponse.java │ │ ├── GetDisplayMessagesRequest.java │ │ ├── GetDisplayMessagesResponse.java │ │ ├── GetInstalledCertificateIdsRequest.java │ │ ├── GetInstalledCertificateIdsResponse.java │ │ ├── GetLocalListVersionRequest.java │ │ ├── GetLocalListVersionResponse.java │ │ ├── GetLogRequest.java │ │ ├── GetLogResponse.java │ │ ├── GetMonitoringReportRequest.java │ │ ├── GetMonitoringReportResponse.java │ │ ├── GetReportRequest.java │ │ ├── GetReportResponse.java │ │ ├── GetTransactionStatusRequest.java │ │ ├── GetTransactionStatusResponse.java │ │ ├── GetVariablesRequest.java │ │ ├── GetVariablesResponse.java │ │ ├── HeartbeatRequest.java │ │ ├── HeartbeatResponse.java │ │ ├── InstallCertificateRequest.java │ │ ├── InstallCertificateResponse.java │ │ ├── LogStatusNotificationRequest.java │ │ ├── LogStatusNotificationResponse.java │ │ ├── MeterValuesRequest.java │ │ ├── MeterValuesResponse.java │ │ ├── NotifyChargingLimitRequest.java │ │ ├── NotifyChargingLimitResponse.java │ │ ├── NotifyCustomerInformationRequest.java │ │ ├── NotifyCustomerInformationResponse.java │ │ ├── NotifyDisplayMessagesRequest.java │ │ ├── NotifyDisplayMessagesResponse.java │ │ ├── NotifyEVChargingNeedsRequest.java │ │ ├── NotifyEVChargingNeedsResponse.java │ │ ├── NotifyEVChargingScheduleRequest.java │ │ ├── NotifyEVChargingScheduleResponse.java │ │ ├── NotifyEventRequest.java │ │ ├── NotifyEventResponse.java │ │ ├── NotifyMonitoringReportRequest.java │ │ ├── NotifyMonitoringReportResponse.java │ │ ├── NotifyReportRequest.java │ │ ├── NotifyReportResponse.java │ │ ├── PublishFirmwareRequest.java │ │ ├── PublishFirmwareResponse.java │ │ ├── PublishFirmwareStatusNotificationRequest.java │ │ ├── PublishFirmwareStatusNotificationResponse.java │ │ ├── ReportChargingProfilesRequest.java │ │ ├── ReportChargingProfilesResponse.java │ │ ├── RequestStartTransactionRequest.java │ │ ├── RequestStartTransactionResponse.java │ │ ├── RequestStopTransactionRequest.java │ │ ├── RequestStopTransactionResponse.java │ │ ├── ReservationStatusUpdateRequest.java │ │ ├── ReservationStatusUpdateResponse.java │ │ ├── ReserveNowRequest.java │ │ ├── ReserveNowResponse.java │ │ ├── ResetRequest.java │ │ ├── ResetResponse.java │ │ ├── SecurityEventNotificationRequest.java │ │ ├── SecurityEventNotificationResponse.java │ │ ├── SendLocalListRequest.java │ │ ├── SendLocalListResponse.java │ │ ├── SetChargingProfileRequest.java │ │ ├── SetChargingProfileResponse.java │ │ ├── SetDisplayMessageRequest.java │ │ ├── SetDisplayMessageResponse.java │ │ ├── SetMonitoringBaseRequest.java │ │ ├── SetMonitoringBaseResponse.java │ │ ├── SetMonitoringLevelRequest.java │ │ ├── SetMonitoringLevelResponse.java │ │ ├── SetNetworkProfileRequest.java │ │ ├── SetNetworkProfileResponse.java │ │ ├── SetVariableMonitoringRequest.java │ │ ├── SetVariableMonitoringResponse.java │ │ ├── SetVariablesRequest.java │ │ ├── SetVariablesResponse.java │ │ ├── SignCertificateRequest.java │ │ ├── SignCertificateResponse.java │ │ ├── StatusNotificationRequest.java │ │ ├── StatusNotificationResponse.java │ │ ├── TransactionEventRequest.java │ │ ├── TransactionEventResponse.java │ │ ├── TriggerMessageRequest.java │ │ ├── TriggerMessageResponse.java │ │ ├── UnlockConnectorRequest.java │ │ ├── UnlockConnectorResponse.java │ │ ├── UnpublishFirmwareRequest.java │ │ ├── UnpublishFirmwareResponse.java │ │ ├── UpdateFirmwareRequest.java │ │ └── UpdateFirmwareResponse.java │ │ └── types │ │ ├── ACChargingParameters.java │ │ ├── APN.java │ │ ├── APNAuthenticationEnum.java │ │ ├── AdditionalInfo.java │ │ ├── AttributeEnum.java │ │ ├── AuthorizationData.java │ │ ├── AuthorizationStatusEnum.java │ │ ├── AuthorizeCertificateStatusEnum.java │ │ ├── BootReasonEnum.java │ │ ├── CancelReservationStatusEnum.java │ │ ├── CertificateActionEnum.java │ │ ├── CertificateHashData.java │ │ ├── CertificateHashDataChain.java │ │ ├── CertificateSignedStatusEnum.java │ │ ├── CertificateSigningUseEnum.java │ │ ├── ChangeAvailabilityStatusEnum.java │ │ ├── ChargingLimit.java │ │ ├── ChargingLimitSourceEnum.java │ │ ├── ChargingNeeds.java │ │ ├── ChargingProfile.java │ │ ├── ChargingProfileCriterion.java │ │ ├── ChargingProfileKindEnum.java │ │ ├── ChargingProfilePurposeEnum.java │ │ ├── ChargingProfileStatusEnum.java │ │ ├── ChargingRateUnitEnum.java │ │ ├── ChargingSchedule.java │ │ ├── ChargingSchedulePeriod.java │ │ ├── ChargingStateEnum.java │ │ ├── ChargingStation.java │ │ ├── ClearCacheStatusEnum.java │ │ ├── ClearChargingProfile.java │ │ ├── ClearChargingProfileStatusEnum.java │ │ ├── ClearMessageStatusEnum.java │ │ ├── ClearMonitoringResult.java │ │ ├── ClearMonitoringStatusEnum.java │ │ ├── Component.java │ │ ├── ComponentCriterionEnum.java │ │ ├── ComponentVariable.java │ │ ├── CompositeSchedule.java │ │ ├── ConnectorEnum.java │ │ ├── ConnectorStatusEnum.java │ │ ├── ConsumptionCost.java │ │ ├── Cost.java │ │ ├── CostKindEnum.java │ │ ├── CustomData.java │ │ ├── CustomerInformationStatusEnum.java │ │ ├── DCChargingParameters.java │ │ ├── DataEnum.java │ │ ├── DataTransferStatusEnum.java │ │ ├── DeleteCertificateStatusEnum.java │ │ ├── DisplayMessageStatusEnum.java │ │ ├── EVSE.java │ │ ├── EnergyTransferModeEnum.java │ │ ├── EventData.java │ │ ├── EventNotificationEnum.java │ │ ├── EventTriggerEnum.java │ │ ├── Firmware.java │ │ ├── FirmwareStatusEnum.java │ │ ├── GenericDeviceModelStatusEnum.java │ │ ├── GenericStatusEnum.java │ │ ├── GetCertificateIdUseEnum.java │ │ ├── GetCertificateStatusEnum.java │ │ ├── GetChargingProfileStatusEnum.java │ │ ├── GetDisplayMessagesStatusEnum.java │ │ ├── GetInstalledCertificateStatusEnum.java │ │ ├── GetVariableData.java │ │ ├── GetVariableResult.java │ │ ├── GetVariableStatusEnum.java │ │ ├── HashAlgorithmEnum.java │ │ ├── IdToken.java │ │ ├── IdTokenEnum.java │ │ ├── IdTokenInfo.java │ │ ├── InstallCertificateStatusEnum.java │ │ ├── InstallCertificateUseEnum.java │ │ ├── Iso15118EVCertificateStatusEnum.java │ │ ├── LocationEnum.java │ │ ├── LogEnum.java │ │ ├── LogParameters.java │ │ ├── LogStatusEnum.java │ │ ├── MeasurandEnum.java │ │ ├── MessageContent.java │ │ ├── MessageFormatEnum.java │ │ ├── MessageInfo.java │ │ ├── MessagePriorityEnum.java │ │ ├── MessageStateEnum.java │ │ ├── MessageTriggerEnum.java │ │ ├── MeterValue.java │ │ ├── Modem.java │ │ ├── MonitorEnum.java │ │ ├── MonitoringBaseEnum.java │ │ ├── MonitoringCriterionEnum.java │ │ ├── MonitoringData.java │ │ ├── MutabilityEnum.java │ │ ├── NetworkConnectionProfile.java │ │ ├── NotifyEVChargingNeedsStatusEnum.java │ │ ├── OCPPInterfaceEnum.java │ │ ├── OCPPTransportEnum.java │ │ ├── OCPPVersionEnum.java │ │ ├── OCSPRequestData.java │ │ ├── OperationalStatusEnum.java │ │ ├── PhaseEnum.java │ │ ├── PublishFirmwareStatusEnum.java │ │ ├── ReadingContextEnum.java │ │ ├── ReasonEnum.java │ │ ├── RecurrencyKindEnum.java │ │ ├── RegistrationStatusEnum.java │ │ ├── RelativeTimeInterval.java │ │ ├── ReportBaseEnum.java │ │ ├── ReportData.java │ │ ├── RequestStartStopStatusEnum.java │ │ ├── ReservationUpdateStatusEnum.java │ │ ├── ReserveNowStatusEnum.java │ │ ├── ResetEnum.java │ │ ├── ResetStatusEnum.java │ │ ├── SalesTariff.java │ │ ├── SalesTariffEntry.java │ │ ├── SampledValue.java │ │ ├── SendLocalListStatusEnum.java │ │ ├── SetMonitoringData.java │ │ ├── SetMonitoringResult.java │ │ ├── SetMonitoringStatusEnum.java │ │ ├── SetNetworkProfileStatusEnum.java │ │ ├── SetVariableData.java │ │ ├── SetVariableResult.java │ │ ├── SetVariableStatusEnum.java │ │ ├── SignedMeterValue.java │ │ ├── StatusInfo.java │ │ ├── Transaction.java │ │ ├── TransactionEventEnum.java │ │ ├── TriggerMessageStatusEnum.java │ │ ├── TriggerReasonEnum.java │ │ ├── UnitOfMeasure.java │ │ ├── UnlockStatusEnum.java │ │ ├── UnpublishFirmwareStatusEnum.java │ │ ├── UpdateEnum.java │ │ ├── UpdateFirmwareStatusEnum.java │ │ ├── UploadLogStatusEnum.java │ │ ├── VPN.java │ │ ├── VPNEnum.java │ │ ├── Variable.java │ │ ├── VariableAttribute.java │ │ ├── VariableCharacteristics.java │ │ └── VariableMonitoring.java │ └── test │ └── java │ └── eu │ └── chargetime │ └── ocpp │ └── v201 │ └── model │ └── messages │ └── BootNotificationRequestTest.java ├── ocpp-v2_0-test ├── build.gradle ├── pom.xml └── src │ ├── main │ └── java │ │ └── eu │ │ └── chargetime │ │ └── ocpp │ │ └── test │ │ ├── FakeCentralSystem.java │ │ ├── FakeChargePoint.java │ │ ├── FeatureTestDecorator.java │ │ └── features │ │ ├── BootNotification.java │ │ ├── GetVariables.java │ │ ├── SetVariables.java │ │ └── StatusNotification.java │ └── test │ └── groovy │ └── eu.chargetime.ocpp.test │ └── features │ ├── BaseSpec.groovy │ ├── BootNotificationSpec.groovy │ ├── GetVariablesSpec.groovy │ ├── SetVariablesSpec.groovy │ └── StatusNotificationSpec.groovy ├── ocpp-v2_0 ├── build.gradle ├── pom.xml └── src │ ├── main │ └── java │ │ └── eu │ │ └── chargetime │ │ └── ocpp │ │ ├── IClientAPI.java │ │ ├── IServerAPI.java │ │ ├── JSONClient.java │ │ ├── JSONServer.java │ │ ├── features │ │ └── basic │ │ │ ├── BootNotificationFeature.java │ │ │ ├── GetVariablesFeature.java │ │ │ ├── SetVariablesFeature.java │ │ │ ├── StatusNotificationFeature.java │ │ │ └── handlers │ │ │ ├── IClientGetVariablesRequestHandler.java │ │ │ ├── IClientSetVariablesRequestHandler.java │ │ │ ├── IServerBootNotificationRequestHandler.java │ │ │ └── IServerStatusNotificationRequestHandler.java │ │ └── model │ │ ├── basic │ │ ├── BootNotificationConfirmation.java │ │ ├── BootNotificationRequest.java │ │ ├── GetVariablesConfirmation.java │ │ ├── GetVariablesRequest.java │ │ ├── SetVariablesConfirmation.java │ │ ├── SetVariablesRequest.java │ │ ├── StatusNotificationConfirmation.java │ │ ├── StatusNotificationRequest.java │ │ └── types │ │ │ ├── AttributeEnumType.java │ │ │ ├── BootReasonEnumType.java │ │ │ ├── ChargingStationType.java │ │ │ ├── ComponentType.java │ │ │ ├── ConnectorStatusEnumType.java │ │ │ ├── EVSEType.java │ │ │ ├── GetVariableDataType.java │ │ │ ├── GetVariableResultType.java │ │ │ ├── GetVariableStatusEnumType.java │ │ │ ├── ModemType.java │ │ │ ├── RegistrationStatusEnumType.java │ │ │ ├── SetVariableDataType.java │ │ │ ├── SetVariableResultType.java │ │ │ ├── SetVariableStatusEnumType.java │ │ │ └── VariableType.java │ │ └── validation │ │ ├── IdentifierStringValidationRule.java │ │ ├── OCPP2PrimDatatypes.java │ │ └── StringMaxLengthValidationRule.java │ └── test │ └── java │ └── eu │ └── chargetime │ └── ocpp │ └── model │ ├── basic │ ├── SetVariablesConfirmationTest.java │ ├── test │ │ ├── BootNotificationConfirmationTest.java │ │ ├── BootNotificationRequestTest.java │ │ ├── SetVariablesRequestTest.java │ │ └── StatusNotificationRequestTest.java │ └── types │ │ ├── ComponentTypeTest.java │ │ └── test │ │ ├── ChargingStationTypeTest.java │ │ ├── GetVariableResultTypeTest.java │ │ ├── SetVariableDataTypeTest.java │ │ └── VariableTypeTest.java │ └── validation │ └── test │ └── IdentifierStringValidationRuleTest.java ├── pom.xml └── settings.gradle /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # Please see the documentation for all configuration options: 2 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 3 | 4 | version: 2 5 | updates: 6 | - package-ecosystem: "maven" 7 | directory: "/" 8 | schedule: 9 | interval: "daily" 10 | 11 | - package-ecosystem: "github-actions" 12 | directory: "/" 13 | schedule: 14 | interval: "daily" 15 | -------------------------------------------------------------------------------- /.github/workflows/maven.yml: -------------------------------------------------------------------------------- 1 | # This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven 3 | 4 | name: Java CI with Maven 5 | 6 | on: [push, pull_request] 7 | 8 | jobs: 9 | build: 10 | 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - uses: actions/checkout@v4 15 | - name: Set up JDK 11 16 | uses: actions/setup-java@v3 17 | with: 18 | java-version: '11' 19 | distribution: 'temurin' 20 | cache: maven 21 | - name: Build with Maven 22 | run: mvn -B package --file pom.xml 23 | - name: Test With Maven 24 | run: mvn integration-test -B 25 | -------------------------------------------------------------------------------- /.replit: -------------------------------------------------------------------------------- 1 | language = "java10" 2 | run = "sh gradlew build" -------------------------------------------------------------------------------- /.travis.settings.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | ossrh 8 | {env.MCR_USERTOKEN} 9 | {env.MCR_PASSTOKEN} 10 | 11 | 12 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | 3 | before_install: 4 | - chmod +x gradlew 5 | 6 | notifications: 7 | webhooks: 8 | urls: 9 | - https://webhooks.gitter.im/e/b53783164e024ebb35d3 10 | on_success: change # options: [always|never|change] default: always 11 | on_failure: always # options: [always|never|change] default: always 12 | on_start: never # options: [always|never|change] default: always 13 | 14 | jobs: 15 | include: 16 | - stage: test 17 | jdk: openjdk8 18 | script: "mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent test org.jacoco:jacoco-maven-plugin:report org.eluder.coveralls:coveralls-maven-plugin:report -B" 19 | after_success: 20 | - bash <(curl -s https://codecov.io/bash) 21 | - stage: integration 22 | jdk: openjdk8 23 | script: "mvn integration-test -B" 24 | 25 | #deploy: 26 | # provider: script 27 | # script: "cp .travis.settings.xml $HOME/.m2/settings.xml && mvn deploy" 28 | # skip_cleanup: true 29 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Example Applications of JSON Server and a JSON Client 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (C) 2016-2018 Thomas Volden 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /OCPP-J/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | */ 4 | 5 | dependencies { 6 | compile project(':common') 7 | compile 'com.google.code.gson:gson:2.8.9' 8 | compile 'org.java-websocket:Java-WebSocket:1.5.3' 9 | testCompile 'junit:junit:4.13.2' 10 | testCompile 'org.mockito:mockito-core:4.11.0' 11 | testCompile 'org.hamcrest:hamcrest-core:1.3' 12 | } 13 | 14 | task javadocJar(type: Jar) { 15 | classifier = 'javadoc' 16 | from(javadoc.destinationDir) 17 | } 18 | 19 | description = 'Java-OCA-OCPP OCPP-J' 20 | publishing.publications.maven.artifact(javadocJar) 21 | -------------------------------------------------------------------------------- /Object diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChargeTimeEU/Java-OCA-OCPP/088b78cd3aaac468b77afb0d31a1702e526c70a4/Object diagram.png -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | */ 4 | 5 | buildscript { 6 | repositories { 7 | maven { 8 | url "https://plugins.gradle.org/m2/" 9 | } 10 | } 11 | dependencies { 12 | classpath "gradle.plugin.com.github.sherter.google-java-format:google-java-format-gradle-plugin:0.8" 13 | } 14 | } 15 | 16 | allprojects { 17 | group = 'eu.chargetime.ocpp' 18 | version = '1.2' 19 | } 20 | 21 | subprojects { 22 | apply plugin: 'java' 23 | apply plugin: 'maven-publish' 24 | apply plugin: "com.github.sherter.google-java-format" 25 | 26 | repositories { 27 | mavenLocal() 28 | maven { 29 | url = 'https://repo.maven.apache.org/maven2' 30 | } 31 | } 32 | 33 | sourceCompatibility = '1.8' 34 | 35 | publishing { 36 | publications { 37 | maven(MavenPublication) { 38 | from(components.java) 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | codecov: 2 | notify: 3 | require_ci_to_pass: yes 4 | 5 | coverage: 6 | precision: 2 7 | round: down 8 | range: "70...100" 9 | 10 | status: 11 | project: yes 12 | patch: yes 13 | changes: no 14 | 15 | parsers: 16 | gcov: 17 | branch_detection: 18 | conditional: yes 19 | loop: yes 20 | method: no 21 | macro: no 22 | 23 | comment: 24 | layout: "header, diff" 25 | behavior: default 26 | require_changes: no 27 | -------------------------------------------------------------------------------- /config/hooks/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | REPO_ROOT_DIR="$(git rev-parse --show-toplevel)" 6 | 7 | files=$((git diff --cached --name-only --diff-filter=ACMR | grep -Ei "\.java$") || true) 8 | if [ ! -z "${files}" ]; then 9 | comma_files=$(echo "$files" | paste -s -d "," -) 10 | "${REPO_ROOT_DIR}/gradlew" goJF -DgoogleJavaFormat.include="$comma_files" &>/dev/null 11 | git add $(echo "$files" | paste -s -d " " -) 12 | fi -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChargeTimeEU/Java-OCA-OCPP/088b78cd3aaac468b77afb0d31a1702e526c70a4/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /ocpp-common/build.gradle: -------------------------------------------------------------------------------- 1 | 2 | dependencies { 3 | compile 'org.slf4j:slf4j-api:1.7.25' 4 | compile 'ch.qos.logback:logback-classic:1.2.3' 5 | compile group: 'javax.xml.soap', name: 'javax.xml.soap-api', version: '1.4.0' 6 | compile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.1' 7 | 8 | testCompile 'junit:junit:4.13.2' 9 | testCompile 'org.mockito:mockito-core:4.11.0' 10 | testCompile 'org.hamcrest:hamcrest-all:1.3' 11 | } 12 | 13 | description = 'Java-OCA-OCPP Common' 14 | -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/AuthenticationException.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp; 2 | 3 | import java.io.Serializable; 4 | 5 | public class AuthenticationException extends Exception implements Serializable { 6 | private static final long serialVersionUID = -2323276402779073385L; 7 | private final int errorcode; 8 | 9 | public AuthenticationException(int errorcode) { 10 | this.errorcode = errorcode; 11 | } 12 | 13 | public AuthenticationException(int errorcode, String s) { 14 | super(s); 15 | this.errorcode = errorcode; 16 | } 17 | 18 | public AuthenticationException(int errorcode, Throwable t) { 19 | super(t); 20 | this.errorcode = errorcode; 21 | } 22 | 23 | public AuthenticationException(int errorcode, String s, Throwable t) { 24 | super(s, t); 25 | this.errorcode = errorcode; 26 | } 27 | 28 | public int getErrorCode() { 29 | return this.errorcode; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/ClientEvents.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp; 2 | 3 | /* 4 | ChargeTime.eu - Java-OCA-OCPP 5 | Copyright (C) 2017 Emil Christopher Solli Melar 6 | 7 | MIT License 8 | 9 | Copyright (C) 2017 Emil Christopher Solli Melar 10 | 11 | Permission is hereby granted, free of charge, to any person obtaining a copy 12 | of this software and associated documentation files (the "Software"), to deal 13 | in the Software without restriction, including without limitation the rights 14 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | copies of the Software, and to permit persons to whom the Software is 16 | furnished to do so, subject to the following conditions: 17 | 18 | The above copyright notice and this permission notice shall be included in all 19 | copies or substantial portions of the Software. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 27 | SOFTWARE. 28 | */ 29 | 30 | public interface ClientEvents { 31 | void connectionOpened(); 32 | 33 | void connectionClosed(); 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/IFeatureRepository.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp; 2 | /* 3 | ChargeTime.eu - Java-OCA-OCPP 4 | 5 | MIT License 6 | 7 | Copyright (C) 2016-2018 Thomas Volden 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy 10 | of this software and associated documentation files (the "Software"), to deal 11 | in the Software without restriction, including without limitation the rights 12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the Software is 14 | furnished to do so, subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in all 17 | copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. 26 | */ 27 | 28 | import eu.chargetime.ocpp.feature.Feature; 29 | import java.util.Optional; 30 | 31 | public interface IFeatureRepository { 32 | ProtocolVersion getProtocolVersion(); 33 | 34 | Optional findFeature(Object needle); 35 | } 36 | -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/IRequestDispactcher.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp; 2 | /* 3 | ChargeTime.eu - Java-OCA-OCPP 4 | 5 | MIT License 6 | 7 | Copyright (C) 2016-2018 Thomas Volden 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy 10 | of this software and associated documentation files (the "Software"), to deal 11 | in the Software without restriction, including without limitation the rights 12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the Software is 14 | furnished to do so, subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in all 17 | copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. 26 | */ 27 | 28 | public interface IRequestDispactcher {} 29 | -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/ISessionFactory.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp; 2 | /* 3 | ChargeTime.eu - Java-OCA-OCPP 4 | 5 | MIT License 6 | 7 | Copyright (C) 2016-2018 Thomas Volden 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy 10 | of this software and associated documentation files (the "Software"), to deal 11 | in the Software without restriction, including without limitation the rights 12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the Software is 14 | furnished to do so, subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in all 17 | copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. 26 | */ 27 | 28 | public interface ISessionFactory { 29 | ISession createSession(Communicator communicator); 30 | } 31 | -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/Listener.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp; 2 | /* 3 | ChargeTime.eu - Java-OCA-OCPP 4 | 5 | MIT License 6 | 7 | Copyright (C) 2016-2018 Thomas Volden 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy 10 | of this software and associated documentation files (the "Software"), to deal 11 | in the Software without restriction, including without limitation the rights 12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the Software is 14 | furnished to do so, subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in all 17 | copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. 26 | */ 27 | 28 | public interface Listener { 29 | void open(String hostname, int port, ListenerEvents listenerEvents); 30 | 31 | void close(); 32 | 33 | boolean isClosed(); 34 | 35 | void setAsyncRequestHandler(boolean async); 36 | } 37 | -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/model/CallMessage.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model; 2 | 3 | /* 4 | ChargeTime.eu - Java-OCA-OCPP 5 | Copyright (C) 2015-2016 Thomas Volden 6 | 7 | MIT License 8 | 9 | Copyright (C) 2016-2018 Thomas Volden 10 | 11 | Permission is hereby granted, free of charge, to any person obtaining a copy 12 | of this software and associated documentation files (the "Software"), to deal 13 | in the Software without restriction, including without limitation the rights 14 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | copies of the Software, and to permit persons to whom the Software is 16 | furnished to do so, subject to the following conditions: 17 | 18 | The above copyright notice and this permission notice shall be included in all 19 | copies or substantial portions of the Software. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 27 | SOFTWARE. 28 | */ 29 | 30 | /** Model class. Used to wrap a call. */ 31 | public class CallMessage extends Message {} 32 | -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/model/CallResultMessage.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model; 2 | 3 | /* 4 | ChargeTime.eu - Java-OCA-OCPP 5 | Copyright (C) 2015-2016 Thomas Volden 6 | 7 | MIT License 8 | 9 | Copyright (C) 2016-2018 Thomas Volden 10 | 11 | Permission is hereby granted, free of charge, to any person obtaining a copy 12 | of this software and associated documentation files (the "Software"), to deal 13 | in the Software without restriction, including without limitation the rights 14 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | copies of the Software, and to permit persons to whom the Software is 16 | furnished to do so, subject to the following conditions: 17 | 18 | The above copyright notice and this permission notice shall be included in all 19 | copies or substantial portions of the Software. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 27 | SOFTWARE. 28 | */ 29 | 30 | /** Model class. Used to wrap a call result. */ 31 | public class CallResultMessage extends Message {} 32 | -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/model/ConfirmationCompletedHandler.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model; 2 | 3 | /* 4 | ChargeTime.eu - Java-OCA-OCPP 5 | 6 | MIT License 7 | 8 | Copyright (C) 2022 Emil Melar 9 | 10 | Permission is hereby granted, free of charge, to any person obtaining a copy 11 | of this software and associated documentation files (the "Software"), to deal 12 | in the Software without restriction, including without limitation the rights 13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | copies of the Software, and to permit persons to whom the Software is 15 | furnished to do so, subject to the following conditions: 16 | 17 | The above copyright notice and this permission notice shall be included in all 18 | copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | SOFTWARE. 27 | */ 28 | 29 | 30 | /** 31 | * Callback that can perform actions after the confirmation is sent back to the Charge Point 32 | */ 33 | public interface ConfirmationCompletedHandler { 34 | void onConfirmationCompleted(); 35 | } 36 | -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/model/Exclude.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface Exclude {} -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/model/Request.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model; 2 | 3 | /* 4 | ChargeTime.eu - Java-OCA-OCPP 5 | Copyright (C) 2015-2016 Thomas Volden 6 | 7 | MIT License 8 | 9 | Copyright (C) 2016-2018 Thomas Volden 10 | 11 | Permission is hereby granted, free of charge, to any person obtaining a copy 12 | of this software and associated documentation files (the "Software"), to deal 13 | in the Software without restriction, including without limitation the rights 14 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | copies of the Software, and to permit persons to whom the Software is 16 | furnished to do so, subject to the following conditions: 17 | 18 | The above copyright notice and this permission notice shall be included in all 19 | copies or substantial portions of the Software. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 27 | SOFTWARE. 28 | */ 29 | 30 | /** Interface used to flag a model as Request payload. */ 31 | public interface Request extends Validatable { 32 | boolean transactionRelated(); 33 | String getOcppMessageId(); 34 | void setOcppMessageId(String id); 35 | } 36 | -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/model/RequestWithId.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model; 2 | 3 | public abstract class RequestWithId implements Request { 4 | @Override 5 | public String getOcppMessageId() { 6 | return ocppMessageId; 7 | } 8 | 9 | @Override 10 | public void setOcppMessageId(String requestId) { 11 | this.ocppMessageId = requestId; 12 | } 13 | 14 | @Exclude 15 | private String ocppMessageId; 16 | } 17 | -------------------------------------------------------------------------------- /ocpp-common/src/main/java/eu/chargetime/ocpp/model/validation/IValidationRule.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.validation; 2 | /* 3 | ChargeTime.eu - Java-OCA-OCPP 4 | 5 | MIT License 6 | 7 | Copyright (C) 2018 Thomas Volden 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy 10 | of this software and associated documentation files (the "Software"), to deal 11 | in the Software without restriction, including without limitation the rights 12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the Software is 14 | furnished to do so, subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in all 17 | copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. 26 | */ 27 | 28 | import eu.chargetime.ocpp.PropertyConstraintException; 29 | 30 | public interface IValidationRule { 31 | void validate(String value) throws PropertyConstraintException; 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json-client-implementation/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | mvnw 8 | mvnw.cmd 9 | .mvn/ 10 | 11 | ### STS ### 12 | .apt_generated 13 | .classpath 14 | .factorypath 15 | .project 16 | .settings 17 | .springBeans 18 | .sts4-cache 19 | 20 | ### IntelliJ IDEA ### 21 | .idea 22 | *.iws 23 | *.iml 24 | *.ipr 25 | 26 | ### NetBeans ### 27 | /nbproject/private/ 28 | /nbbuild/ 29 | /dist/ 30 | /nbdist/ 31 | /.nb-gradle/ 32 | build/ 33 | !**/src/main/**/build/ 34 | !**/src/test/**/build/ 35 | 36 | ### VS Code ### 37 | .vscode/ 38 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json-client-implementation/src/main/java/eu/chargetime/ocpp/jsonclientimplementation/JsonClientImplementationApplication.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonclientimplementation; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class JsonClientImplementationApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(JsonClientImplementationApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json-client-implementation/src/main/java/eu/chargetime/ocpp/jsonclientimplementation/config/ApiConfigurations.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonclientimplementation.config; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import org.springframework.beans.factory.annotation.Value; 6 | import org.springframework.boot.context.properties.EnableConfigurationProperties; 7 | import org.springframework.context.annotation.Configuration; 8 | 9 | @Configuration 10 | @EnableConfigurationProperties 11 | @Getter 12 | @Setter 13 | public class ApiConfigurations { 14 | 15 | @Value("${websocket.url}") 16 | private String webSocketBaseUrl; 17 | } 18 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json-client-implementation/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | websocket: 2 | url: "${WEB_SOCKET_URL:localhost:8080}" -------------------------------------------------------------------------------- /ocpp-v1_6-example/json-client-implementation/src/test/java/eu/chargetime/ocpp/jsonclientimplementation/JsonClientImplementationApplicationTests.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonclientimplementation; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class JsonClientImplementationApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json-client-implementation/src/test/java/eu/chargetime/ocpp/jsonclientimplementation/ocpphandler/ClientCoreProfileConfig.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonclientimplementation.ocpphandler; 2 | 3 | import eu.chargetime.ocpp.feature.profile.ClientCoreEventHandler; 4 | import eu.chargetime.ocpp.feature.profile.ClientCoreProfile; 5 | import lombok.extern.slf4j.Slf4j; 6 | import org.springframework.boot.test.context.TestConfiguration; 7 | import org.springframework.context.annotation.Bean; 8 | 9 | @TestConfiguration 10 | @Slf4j 11 | public class ClientCoreProfileConfig { 12 | 13 | @Bean 14 | public ClientCoreProfile configureClientCoreProfile(ClientCoreEventHandler clientCoreEventHandler) { 15 | return new ClientCoreProfile(clientCoreEventHandler); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json-client-implementation/src/test/java/eu/chargetime/ocpp/jsonclientimplementation/ocpphandler/JsonClientConfig.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonclientimplementation.ocpphandler; 2 | 3 | import eu.chargetime.ocpp.JSONClient; 4 | import eu.chargetime.ocpp.feature.profile.ClientCoreProfile; 5 | import lombok.extern.slf4j.Slf4j; 6 | import org.springframework.boot.test.context.TestConfiguration; 7 | import org.springframework.context.annotation.Bean; 8 | 9 | @TestConfiguration 10 | @Slf4j 11 | public class JsonClientConfig { 12 | 13 | @Bean 14 | public JSONClient configureJsonClient(ClientCoreProfile core) { 15 | return new JSONClient(core); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json_server_example/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | 8 | .mvn/ 9 | mvnw 10 | mvnw.cmd 11 | 12 | ### STS ### 13 | .apt_generated 14 | .classpath 15 | .factorypath 16 | .project 17 | .settings 18 | .springBeans 19 | .sts4-cache 20 | 21 | ### IntelliJ IDEA ### 22 | .idea 23 | *.iws 24 | *.iml 25 | *.ipr 26 | 27 | ### NetBeans ### 28 | /nbproject/private/ 29 | /nbbuild/ 30 | /dist/ 31 | /nbdist/ 32 | /.nb-gradle/ 33 | build/ 34 | 35 | ### VS Code ### 36 | .vscode/ 37 | 38 | *.DS_Store 39 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json_server_example/README.md: -------------------------------------------------------------------------------- 1 | Json Server Example Spring Application 2 | ============= 3 | 4 | An example spring application which is implementing a JSON server. 5 | Running on port 8887 and accepts the jsons provided in the documentation here (OCPP 1.6) 6 | https://www.openchargealliance.org/downloads/ 7 | 8 | UT for the server implementation, as well as for a pretty simple authorization handler implementation is provided. 9 | For external a simple browser extention as simple web socket client can be used. -------------------------------------------------------------------------------- /ocpp-v1_6-example/json_server_example/src/main/java/eu/chargetime/ocpp/jsonserverimplementation/JsonServerImplementationApplication.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonserverimplementation; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class JsonServerImplementationApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(JsonServerImplementationApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json_server_example/src/main/java/eu/chargetime/ocpp/jsonserverimplementation/config/ApplicationConfiguration.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonserverimplementation.config; 2 | 3 | import lombok.Getter; 4 | import org.springframework.beans.factory.annotation.Value; 5 | import org.springframework.boot.context.properties.EnableConfigurationProperties; 6 | import org.springframework.context.annotation.Configuration; 7 | 8 | @Configuration 9 | @EnableConfigurationProperties 10 | @Getter 11 | public class ApplicationConfiguration { 12 | 13 | @Value("${server.port}") 14 | private Integer serverPort; 15 | } 16 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json_server_example/src/main/java/eu/chargetime/ocpp/jsonserverimplementation/config/JsonServerConfig.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonserverimplementation.config; 2 | 3 | import eu.chargetime.ocpp.JSONServer; 4 | import eu.chargetime.ocpp.feature.profile.ServerCoreProfile; 5 | import lombok.extern.slf4j.Slf4j; 6 | import org.springframework.context.annotation.Bean; 7 | import org.springframework.context.annotation.Configuration; 8 | 9 | @Configuration 10 | @Slf4j 11 | public class JsonServerConfig { 12 | 13 | @Bean 14 | public JSONServer jsonServer(ServerCoreProfile core) { 15 | return new JSONServer(core); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json_server_example/src/main/java/eu/chargetime/ocpp/jsonserverimplementation/config/ServerEventConfig.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonserverimplementation.config; 2 | 3 | import eu.chargetime.ocpp.ServerEvents; 4 | import eu.chargetime.ocpp.model.SessionInformation; 5 | import lombok.Getter; 6 | import lombok.extern.slf4j.Slf4j; 7 | import org.springframework.context.annotation.Bean; 8 | import org.springframework.context.annotation.Configuration; 9 | 10 | import java.util.UUID; 11 | 12 | @Configuration 13 | @Getter 14 | @Slf4j 15 | public class ServerEventConfig { 16 | 17 | @Bean 18 | public ServerEvents createServerCoreImpl() { 19 | return getNewServerEventsImpl(); 20 | } 21 | 22 | private ServerEvents getNewServerEventsImpl() { 23 | return new ServerEvents() { 24 | 25 | @Override 26 | public void newSession(UUID sessionIndex, SessionInformation information) { 27 | 28 | // sessionIndex is used to send messages. 29 | System.out.println("New session " + sessionIndex + ": " + information.getIdentifier()); 30 | } 31 | 32 | @Override 33 | public void lostSession(UUID sessionIndex) { 34 | 35 | System.out.println("Session " + sessionIndex + " lost connection"); 36 | } 37 | }; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json_server_example/src/main/java/eu/chargetime/ocpp/jsonserverimplementation/server/JsonServerImpl.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonserverimplementation.server; 2 | 3 | import eu.chargetime.ocpp.JSONServer; 4 | import eu.chargetime.ocpp.ServerEvents; 5 | import eu.chargetime.ocpp.jsonserverimplementation.config.ApplicationConfiguration; 6 | import lombok.AllArgsConstructor; 7 | import lombok.extern.slf4j.Slf4j; 8 | import org.springframework.stereotype.Component; 9 | 10 | import javax.annotation.PostConstruct; 11 | 12 | @Slf4j 13 | @Component 14 | @AllArgsConstructor 15 | public class JsonServerImpl { 16 | 17 | private final ServerEvents serverEvents; 18 | private final JSONServer server; 19 | private final ApplicationConfiguration applicationConfiguration; 20 | 21 | @PostConstruct 22 | public void startServer() throws Exception { 23 | server.open("localhost", applicationConfiguration.getServerPort(), serverEvents); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json_server_example/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8887 -------------------------------------------------------------------------------- /ocpp-v1_6-example/json_server_example/src/test/java/eu/chargetime/ocpp/jsonserverimplementation/JsonServerImplementationApplicationTests.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonserverimplementation; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class JsonServerImplementationApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json_server_example/src/test/java/eu/chargetime/ocpp/jsonserverimplementation/config/TestJsonServerConfig.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonserverimplementation.config; 2 | 3 | import eu.chargetime.ocpp.JSONServer; 4 | import eu.chargetime.ocpp.feature.profile.ServerCoreProfile; 5 | import lombok.extern.slf4j.Slf4j; 6 | import org.springframework.boot.test.context.TestConfiguration; 7 | import org.springframework.context.annotation.Bean; 8 | 9 | @TestConfiguration 10 | @Slf4j 11 | public class TestJsonServerConfig { 12 | 13 | @Bean 14 | public JSONServer jsonServer(ServerCoreProfile core) { 15 | return new JSONServer(core); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /ocpp-v1_6-example/json_server_example/src/test/java/eu/chargetime/ocpp/jsonserverimplementation/config/TestServerEventConfig.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.jsonserverimplementation.config; 2 | 3 | import eu.chargetime.ocpp.ServerEvents; 4 | import eu.chargetime.ocpp.model.SessionInformation; 5 | import lombok.Getter; 6 | import lombok.extern.slf4j.Slf4j; 7 | import org.springframework.boot.test.context.TestConfiguration; 8 | import org.springframework.context.annotation.Bean; 9 | 10 | import java.util.UUID; 11 | 12 | @TestConfiguration 13 | @Getter 14 | @Slf4j 15 | public class TestServerEventConfig { 16 | 17 | @Bean 18 | public ServerEvents createServerCoreImpl() { 19 | return getNewServerEventsImpl(); 20 | } 21 | 22 | private ServerEvents getNewServerEventsImpl() { 23 | return new ServerEvents() { 24 | 25 | @Override 26 | public void newSession(UUID sessionIndex, SessionInformation information) { 27 | 28 | // sessionIndex is used to send messages. 29 | System.out.println("New session " + sessionIndex + ": " + information.getIdentifier()); 30 | } 31 | 32 | @Override 33 | public void lostSession(UUID sessionIndex) { 34 | 35 | System.out.println("Session " + sessionIndex + " lost connection"); 36 | } 37 | }; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | */ 4 | 5 | plugins { 6 | id 'groovy' 7 | } 8 | 9 | dependencies { 10 | compile project(':common') 11 | compile project(':v1_6') 12 | testCompile 'junit:junit:4.12' 13 | testCompile 'org.codehaus.groovy:groovy-all:2.4.11' 14 | testCompile 'org.spockframework:spock-core:1.0-groovy-2.4' 15 | testCompile 'org.hamcrest:hamcrest-core:1.3' 16 | testCompile 'ch.qos.logback:logback-core:1.1.2' 17 | testCompile 'ch.qos.logback:logback-classic:1.1.2' 18 | testCompile 'org.slf4j:jul-to-slf4j:1.7.10' 19 | } 20 | 21 | description = 'Java-OCA-OCPP v1.6 - Integration test' 22 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/base/json/JSONBaseSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.base.json 2 | 3 | import eu.chargetime.ocpp.test.FakeCentral 4 | import eu.chargetime.ocpp.test.FakeCentralSystem 5 | import eu.chargetime.ocpp.test.FakeChargePoint 6 | import spock.lang.Shared 7 | import spock.lang.Specification 8 | import spock.util.concurrent.PollingConditions 9 | 10 | abstract class JSONBaseSpec extends Specification { 11 | @Shared 12 | FakeCentralSystem centralSystem = FakeCentral.getSystem(FakeCentral.serverType.JSON) 13 | @Shared 14 | FakeChargePoint chargePoint = new FakeChargePoint() 15 | 16 | def setupSpec() { 17 | def conditions = new PollingConditions(timeout: 11) 18 | 19 | // When a Central System is running 20 | centralSystem.started() 21 | 22 | conditions.eventually { 23 | assert !centralSystem.isClosed() 24 | } 25 | } 26 | 27 | def setup() { 28 | Thread.sleep(100); 29 | 30 | chargePoint.connect() 31 | } 32 | 33 | def cleanup() { 34 | chargePoint.disconnect() 35 | centralSystem.clearRiggedToFailFlag() 36 | } 37 | 38 | def cleanupSpec() { 39 | def conditions = new PollingConditions(timeout: 11) 40 | 41 | centralSystem.stopped() 42 | 43 | conditions.eventually { 44 | assert centralSystem.isClosed() 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/base/soap/SOAPBaseSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.base.soap 2 | 3 | import eu.chargetime.ocpp.test.FakeCentral 4 | import eu.chargetime.ocpp.test.FakeCentralSystem 5 | import eu.chargetime.ocpp.test.FakeChargePoint 6 | import spock.lang.Shared 7 | import spock.lang.Specification 8 | 9 | 10 | abstract class SOAPBaseSpec extends Specification 11 | { 12 | @Shared 13 | FakeCentralSystem centralSystem = new FakeCentralSystem(FakeCentral.serverType.SOAP) 14 | @Shared 15 | FakeChargePoint chargePoint = new FakeChargePoint(FakeChargePoint.clientType.SOAP) 16 | 17 | def setupSpec() { 18 | // When a Central System is running 19 | centralSystem.started() 20 | } 21 | 22 | def setup() { 23 | chargePoint.connect() 24 | } 25 | 26 | def cleanup() { 27 | chargePoint.disconnect() 28 | } 29 | 30 | def cleanupSpec() { 31 | centralSystem.stopped() 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONAuthorizeSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.OccurenceConstraintException 4 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 5 | import spock.util.concurrent.PollingConditions 6 | 7 | class JSONAuthorizeSpec extends JSONBaseSpec { 8 | 9 | def "Charge point sends Authorize request and receives a response"() { 10 | def conditions = new PollingConditions(timeout: 1) 11 | when: 12 | chargePoint.sendAuthorizeRequest("test123") 13 | 14 | then: 15 | conditions.eventually { 16 | assert centralSystem.hasHandledAuthorizeRequest() 17 | } 18 | 19 | then: 20 | conditions.eventually { 21 | assert chargePoint.hasReceivedAuthorizeConfirmation("Accepted") 22 | } 23 | } 24 | 25 | def "Try to send incomplete Authorize request, get local exception"() { 26 | when: 27 | chargePoint.sendIncompleteAuthorizeRequest() 28 | 29 | then: 30 | thrown OccurenceConstraintException 31 | } 32 | 33 | def "Send Authorize request to a server that's rigged to fail"() { 34 | def conditions = new PollingConditions(timeout: 1) 35 | 36 | given: 37 | centralSystem.rigNextRequestToFail() 38 | 39 | when: 40 | chargePoint.sendAuthorizeRequest("") 41 | 42 | then: 43 | conditions.eventually { 44 | assert chargePoint.hasReceivedError() 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONBootNotificationSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class JSONBootNotificationSpec extends JSONBaseSpec 7 | { 8 | 9 | def "Charge point sends Boot Notification and receives a response"() { 10 | def conditions = new PollingConditions(timeout: 1) 11 | 12 | when: 13 | chargePoint.sendBootNotification("VendorX", "SingleSocketCharger") 14 | 15 | then: 16 | conditions.eventually { 17 | assert centralSystem.hasHandledBootNotification("VendorX", "SingleSocketCharger") 18 | } 19 | 20 | then: 21 | conditions.eventually { 22 | assert chargePoint.hasReceivedBootConfirmation("Accepted") 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONChangeAvailabilitySpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.model.core.AvailabilityType 4 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 5 | import spock.util.concurrent.PollingConditions 6 | 7 | class JSONChangeAvailabilitySpec extends JSONBaseSpec 8 | { 9 | 10 | def "Central System sends a ChangeAvailability request and receives a response"() { 11 | def conditions = new PollingConditions(timeout: 1) 12 | when: 13 | centralSystem.sendChangeAvailabilityRequest(1, AvailabilityType.Inoperative) 14 | 15 | then: 16 | conditions.eventually { 17 | assert chargePoint.hasHandledChangeAvailabilityRequest() 18 | assert centralSystem.hasReceivedChangeAvailabilityConfirmation("Accepted") 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONChangeConfigurationSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class JSONChangeConfigurationSpec extends JSONBaseSpec 7 | { 8 | def "Central System sends a ChangeConfiguration request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | 11 | given: 12 | conditions.eventually { 13 | assert !centralSystem.isClosed() 14 | } 15 | when: 16 | centralSystem.sendChangeConfigurationRequest("key", "value") 17 | 18 | then: 19 | conditions.eventually { 20 | assert chargePoint.hasHandledChangeConfigurationRequest() 21 | assert centralSystem.hasReceivedChangeConfigurationConfirmation() 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONClearCacheSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class JSONClearCacheSpec extends JSONBaseSpec 7 | { 8 | def "Central System sends a ClearCache request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | 11 | when: 12 | centralSystem.sendClearCacheRequest() 13 | 14 | then: 15 | conditions.eventually { 16 | assert chargePoint.hasHandledClearCacheRequest() 17 | assert centralSystem.hasReceivedClearCacheConfirmation() 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONDataTransferSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class JSONDataTransferSpec extends JSONBaseSpec 7 | { 8 | def "Charge point sends a DataTransfer request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | 11 | when: 12 | chargePoint.sendDataTransferRequest("VendorId", "messageId", "data") 13 | 14 | then: 15 | conditions.eventually { 16 | assert centralSystem.hasHandledDataTransferRequest() 17 | } 18 | 19 | then: 20 | conditions.eventually { 21 | assert chargePoint.hasReceivedDataTransferConfirmation("Accepted") 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONGetConfigurationSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class JSONGetConfigurationSpec extends JSONBaseSpec 7 | { 8 | def "Central System sends a GetConfiguration request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | 11 | when: 12 | centralSystem.sendGetConfigurationRequest("key1") 13 | 14 | then: 15 | conditions.eventually { 16 | assert chargePoint.hasHandledGetConfigurationRequest() 17 | assert centralSystem.hasReceivedGetConfigurationConfirmation() 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONHeartbeatSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class JSONHeartbeatSpec extends JSONBaseSpec 7 | { 8 | def "Charge point sends Heartbeat and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | when: 11 | chargePoint.sendHeartbeatRequest() 12 | 13 | 14 | then: 15 | conditions.eventually { 16 | assert centralSystem.hasHandledHeartbeat() 17 | } 18 | 19 | then: 20 | conditions.eventually { 21 | assert chargePoint.hasReceivedHeartbeatConfirmation() 22 | } 23 | 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONMeterValuesSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class JSONMeterValuesSpec extends JSONBaseSpec 7 | { 8 | def "Charge point sends MeterValues request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | when: 11 | chargePoint.sendMeterValuesRequest() 12 | 13 | then: 14 | conditions.eventually { 15 | assert centralSystem.hasHandledMeterValuesRequest() 16 | } 17 | 18 | then: 19 | conditions.eventually { 20 | assert chargePoint.hasReceivedMeterValuesConfirmation() 21 | } 22 | 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONRemoteStopTransactionSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class JSONRemoteStopTransactionSpec extends JSONBaseSpec { 7 | 8 | def "Central System sends a RemoteStopTransaction request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 10) 10 | given: 11 | conditions.eventually { 12 | assert centralSystem.connected() 13 | } 14 | 15 | when: 16 | centralSystem.sendRemoteStopTransactionRequest(0) 17 | 18 | then: 19 | conditions.eventually { 20 | assert chargePoint.hasHandledRemoteStopTransactionRequest() 21 | assert centralSystem.hasReceivedRemoteStopTransactionConfirmation("Accepted") 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONResetSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.model.core.ResetType 4 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 5 | import spock.util.concurrent.PollingConditions 6 | 7 | class JSONResetSpec extends JSONBaseSpec { 8 | 9 | def "Central System sends a Reset request and receives a response"() { 10 | def conditions = new PollingConditions(timeout: 1) 11 | when: 12 | centralSystem.sendResetRequest(ResetType.Hard) 13 | 14 | then: 15 | conditions.eventually { 16 | assert chargePoint.hasHandledResetRequest() 17 | assert centralSystem.hasReceivedResetConfirmation("Accepted") 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONStartTransactionSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class JSONStartTransactionSpec extends JSONBaseSpec { 7 | 8 | def "Charge point sends StartTransaction request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | when: 11 | chargePoint.sendStartTransactionRequest() 12 | 13 | then: 14 | conditions.eventually { 15 | assert centralSystem.hasHandledStartTransactionRequest() 16 | } 17 | 18 | then: 19 | conditions.eventually { 20 | assert chargePoint.hasReceivedStartTransactionConfirmation() 21 | } 22 | 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONStatusNotificationSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class JSONStatusNotificationSpec extends JSONBaseSpec { 7 | 8 | def "Charge point sends StatusNotification request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | when: 11 | chargePoint.sendStatusNotificationRequest() 12 | 13 | then: 14 | conditions.eventually { 15 | assert centralSystem.hasHandledStatusNotificationRequest() 16 | } 17 | 18 | then: 19 | conditions.eventually { 20 | assert chargePoint.hasReceivedStatusNotificationConfirmation() 21 | } 22 | 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONStopTransactionSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class JSONStopTransactionSpec extends JSONBaseSpec { 7 | 8 | def "Charge point sends StopTransaction request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | when: 11 | chargePoint.sendStopTransactionRequest() 12 | 13 | then: 14 | conditions.eventually { 15 | assert centralSystem.hasHandledStopTransactionRequest() 16 | } 17 | 18 | then: 19 | conditions.eventually { 20 | assert chargePoint.hasReceivedStopTransactionConfirmation() 21 | } 22 | } 23 | 24 | def "StopTransaction request is stored when offline"() { 25 | def conditions = new PollingConditions(initialDelay: 0.5, timeout: 1) 26 | 27 | given: 28 | chargePoint.disconnect() 29 | 30 | when: 31 | chargePoint.sendStopTransactionRequest() 32 | 33 | then: 34 | conditions.within(1) { 35 | assert !centralSystem.hasHandledStopTransactionRequest() 36 | } 37 | 38 | when: 39 | chargePoint.connect() 40 | 41 | then: 42 | conditions.setInitialDelay(0) 43 | conditions.eventually { 44 | assert centralSystem.hasHandledStopTransactionRequest() 45 | } 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/json/JSONUnlockConnectorSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.json 2 | 3 | import eu.chargetime.ocpp.test.base.json.JSONBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class JSONUnlockConnectorSpec extends JSONBaseSpec { 7 | 8 | def "Central System sends a UnlockConnector request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 10) 10 | given: 11 | conditions.eventually { 12 | assert centralSystem.connected() 13 | } 14 | 15 | when: 16 | centralSystem.sendUnlockConnectorRequest(1) 17 | 18 | then: 19 | conditions.eventually { 20 | assert chargePoint.hasHandledUnlockConnectorRequest() 21 | } 22 | 23 | then: 24 | conditions.eventually { 25 | assert centralSystem.hasReceivedUnlockConnectorConfirmation("Unlocked") 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPAuthorizeSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.OccurenceConstraintException 4 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 5 | import spock.util.concurrent.PollingConditions 6 | 7 | class SOAPAuthorizeSpec extends SOAPBaseSpec 8 | { 9 | def "Charge point sends Authorize request and receives a response"() { 10 | def conditions = new PollingConditions(timeout: 1) 11 | when: 12 | chargePoint.sendAuthorizeRequest("test123") 13 | 14 | then: 15 | conditions.eventually { 16 | assert centralSystem.hasHandledAuthorizeRequest() 17 | } 18 | 19 | then: 20 | conditions.eventually { 21 | assert chargePoint.hasReceivedAuthorizeConfirmation("Accepted") 22 | } 23 | } 24 | 25 | def "Try to send incomplete Authorize request, get local exception"() { 26 | when: 27 | chargePoint.sendIncompleteAuthorizeRequest() 28 | 29 | then: 30 | thrown OccurenceConstraintException 31 | } 32 | 33 | def "Send Authorize request to a server that's rigged to fail"() { 34 | def conditions = new PollingConditions(timeout: 1) 35 | 36 | given: 37 | centralSystem.rigNextRequestToFail() 38 | 39 | when: 40 | chargePoint.sendAuthorizeRequest("") 41 | 42 | then: 43 | conditions.eventually { 44 | assert chargePoint.hasReceivedError() 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPBootNotificationSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPBootNotificationSpec extends SOAPBaseSpec { 7 | def "Charge point sends Boot Notification and receives a response"() { 8 | def conditions = new PollingConditions(timeout: 10) 9 | when: 10 | chargePoint.sendBootNotification("VendorX", "SingleSocketCharger") 11 | 12 | then: 13 | conditions.eventually { 14 | assert centralSystem.hasHandledBootNotification("VendorX", "SingleSocketCharger") 15 | } 16 | 17 | then: 18 | conditions.eventually { 19 | assert chargePoint.hasReceivedBootConfirmation("Accepted") 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPChangeAvailabilitySpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.model.core.AvailabilityType 4 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 5 | import spock.util.concurrent.PollingConditions 6 | 7 | class SOAPChangeAvailabilitySpec extends SOAPBaseSpec { 8 | 9 | def setup() { 10 | chargePoint.sendBootNotification("VendorX", "SingleSocketCharger") 11 | } 12 | 13 | def "Central System sends a ChangeAvailability request and receives a response"() { 14 | def conditions = new PollingConditions(timeout: 1) 15 | given: 16 | conditions.eventually { 17 | assert centralSystem.connected() 18 | } 19 | 20 | when: 21 | centralSystem.sendChangeAvailabilityRequest(1, AvailabilityType.Inoperative) 22 | 23 | then: 24 | conditions.eventually { 25 | assert chargePoint.hasHandledChangeAvailabilityRequest() 26 | assert centralSystem.hasReceivedChangeAvailabilityConfirmation("Accepted") 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPChangeConfigurationSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPChangeConfigurationSpec extends SOAPBaseSpec { 7 | def setup() { 8 | chargePoint.sendBootNotification("VendorX", "SingleSocketCharger") 9 | } 10 | 11 | def "Central System sends a ChangeConfiguration request and receives a response"() { 12 | def conditions = new PollingConditions(timeout: 1) 13 | given: 14 | conditions.eventually { 15 | assert centralSystem.connected() 16 | } 17 | 18 | when: 19 | centralSystem.sendChangeConfigurationRequest("key", "value") 20 | 21 | then: 22 | conditions.eventually { 23 | assert chargePoint.hasHandledChangeConfigurationRequest() 24 | assert centralSystem.hasReceivedChangeConfigurationConfirmation() 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPClearCacheSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPClearCacheSpec extends SOAPBaseSpec { 7 | def setup() { 8 | chargePoint.sendBootNotification("VendorX", "SingleSocketCharger") 9 | } 10 | 11 | def "Central System sends a ClearCache request and receives a response"() { 12 | def conditions = new PollingConditions(timeout: 1) 13 | given: 14 | conditions.eventually { 15 | assert centralSystem.connected() 16 | } 17 | 18 | when: 19 | centralSystem.sendClearCacheRequest() 20 | 21 | then: 22 | conditions.eventually { 23 | assert chargePoint.hasHandledClearCacheRequest() 24 | assert centralSystem.hasReceivedClearCacheConfirmation() 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPDataTransferSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPDataTransferSpec extends SOAPBaseSpec { 7 | 8 | def "Charge point sends a DataTransfer request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 10) 10 | 11 | when: 12 | chargePoint.sendDataTransferRequest("VendorId", "messageId", "data") 13 | 14 | then: 15 | conditions.eventually { 16 | assert centralSystem.hasHandledDataTransferRequest() 17 | assert chargePoint.hasReceivedDataTransferConfirmation("Accepted") 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPGetConfigurationSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPGetConfigurationSpec extends SOAPBaseSpec { 7 | def setup() { 8 | chargePoint.sendBootNotification("VendorX", "SingleSocketCharger") 9 | } 10 | 11 | def "Central System sends a GetConfiguration request and receives a response"() { 12 | def conditions = new PollingConditions(timeout: 2) 13 | given: 14 | conditions.eventually { 15 | assert centralSystem.connected() 16 | } 17 | 18 | when: 19 | centralSystem.sendGetConfigurationRequest("key1") 20 | 21 | then: 22 | conditions.eventually { 23 | assert chargePoint.hasHandledGetConfigurationRequest() 24 | assert centralSystem.hasReceivedGetConfigurationConfirmation() 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPHeartbeatSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPHeartbeatSpec extends SOAPBaseSpec { 7 | 8 | def "Charge point sends Heartbeat and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | when: 11 | chargePoint.sendHeartbeatRequest() 12 | 13 | then: 14 | conditions.eventually { 15 | assert centralSystem.hasHandledHeartbeat() 16 | } 17 | 18 | then: 19 | conditions.eventually { 20 | assert chargePoint.hasReceivedHeartbeatConfirmation() 21 | } 22 | 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPMeterValuesSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPMeterValuesSpec extends SOAPBaseSpec { 7 | 8 | def "Charge point sends MeterValues request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | when: 11 | chargePoint.sendMeterValuesRequest() 12 | 13 | then: 14 | conditions.eventually { 15 | assert centralSystem.hasHandledMeterValuesRequest() 16 | } 17 | 18 | then: 19 | conditions.eventually { 20 | assert chargePoint.hasReceivedMeterValuesConfirmation() 21 | } 22 | 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPRemoteStartTransactionSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPRemoteStartTransactionSpec extends SOAPBaseSpec { 7 | def setup() { 8 | chargePoint.sendBootNotification("VendorX", "SingleSocketCharger") 9 | } 10 | 11 | def "Central System sends a RemoteStartTransaction request and receives a response"() { 12 | def conditions = new PollingConditions(timeout: 1) 13 | given: 14 | conditions.eventually { 15 | assert centralSystem.connected() 16 | } 17 | 18 | when: 19 | centralSystem.sendRemoteStartTransactionRequest(1, "some id") 20 | 21 | then: 22 | conditions.eventually { 23 | assert chargePoint.hasHandledRemoteStartTransactionRequest() 24 | assert centralSystem.hasReceivedRemoteStartTransactionConfirmation("Accepted") 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPRemoteStopTransactionSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPRemoteStopTransactionSpec extends SOAPBaseSpec { 7 | def setup() { 8 | chargePoint.sendBootNotification("VendorX", "SingleSocketCharger") 9 | } 10 | 11 | def "Central System sends a RemoteStopTransaction request and receives a response"() { 12 | def conditions = new PollingConditions(timeout: 1) 13 | given: 14 | conditions.eventually { 15 | assert centralSystem.connected() 16 | } 17 | 18 | when: 19 | centralSystem.sendRemoteStopTransactionRequest(0) 20 | 21 | then: 22 | conditions.eventually { 23 | assert chargePoint.hasHandledRemoteStopTransactionRequest() 24 | assert centralSystem.hasReceivedRemoteStopTransactionConfirmation("Accepted") 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPResetSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.model.core.ResetType 4 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 5 | import spock.util.concurrent.PollingConditions 6 | 7 | class SOAPResetSpec extends SOAPBaseSpec { 8 | def setup() { 9 | chargePoint.sendBootNotification("VendorX", "SingleSocketCharger") 10 | } 11 | 12 | def "Central System sends a Reset request and receives a response"() { 13 | def conditions = new PollingConditions(timeout: 1) 14 | given: 15 | conditions.eventually { 16 | assert centralSystem.connected() 17 | } 18 | 19 | when: 20 | centralSystem.sendResetRequest(ResetType.Hard) 21 | 22 | then: 23 | conditions.eventually { 24 | assert chargePoint.hasHandledResetRequest() 25 | assert centralSystem.hasReceivedResetConfirmation("Accepted") 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPStartTransactionSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPStartTransactionSpec extends SOAPBaseSpec { 7 | 8 | def "Charge point sends StartTransaction request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 10) 10 | when: 11 | chargePoint.sendStartTransactionRequest() 12 | 13 | then: 14 | conditions.eventually { 15 | assert centralSystem.hasHandledStartTransactionRequest() 16 | } 17 | 18 | then: 19 | conditions.eventually { 20 | assert chargePoint.hasReceivedStartTransactionConfirmation() 21 | } 22 | 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPStatusNotificationSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPStatusNotificationSpec extends SOAPBaseSpec { 7 | 8 | def "Charge point sends StatusNotification request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | when: 11 | chargePoint.sendStatusNotificationRequest() 12 | 13 | then: 14 | conditions.eventually { 15 | assert centralSystem.hasHandledStatusNotificationRequest() 16 | } 17 | 18 | then: 19 | conditions.eventually { 20 | assert chargePoint.hasReceivedStatusNotificationConfirmation() 21 | } 22 | 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPStopTransactionSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPStopTransactionSpec extends SOAPBaseSpec { 7 | 8 | def "Charge point sends StopTransaction request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 1) 10 | when: 11 | chargePoint.sendStopTransactionRequest() 12 | 13 | then: 14 | conditions.eventually { 15 | assert centralSystem.hasHandledStopTransactionRequest() 16 | } 17 | 18 | then: 19 | conditions.eventually { 20 | assert chargePoint.hasReceivedStopTransactionConfirmation() 21 | } 22 | } 23 | 24 | def "StopTransaction request is stored when offline"() { 25 | def conditions = new PollingConditions(initialDelay: 0.5, timeout: 1) 26 | 27 | given: 28 | chargePoint.disconnect() 29 | centralSystem.clientLost() 30 | 31 | when: 32 | chargePoint.sendStopTransactionRequest() 33 | 34 | then: 35 | conditions.within(1) { 36 | assert !centralSystem.hasHandledStopTransactionRequest() 37 | } 38 | 39 | when: 40 | chargePoint.connect() 41 | 42 | then: 43 | conditions.setInitialDelay(0) 44 | conditions.eventually { 45 | assert centralSystem.hasHandledStopTransactionRequest() 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/profiles/core/soap/SOAPUnlockConnectorSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.profiles.core.soap 2 | 3 | import eu.chargetime.ocpp.test.base.soap.SOAPBaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SOAPUnlockConnectorSpec extends SOAPBaseSpec { 7 | def setup() { 8 | chargePoint.sendBootNotification("VendorX", "SingleSocketCharger") 9 | } 10 | 11 | def "Central System sends a UnlockConnector request and receives a response"() { 12 | def conditions = new PollingConditions(timeout: 10) 13 | given: 14 | conditions.eventually { 15 | assert centralSystem.connected() 16 | } 17 | 18 | when: 19 | centralSystem.sendUnlockConnectorRequest(1) 20 | 21 | then: 22 | conditions.eventually { 23 | assert chargePoint.hasHandledUnlockConnectorRequest() 24 | assert centralSystem.hasReceivedUnlockConnectorConfirmation("Unlocked") 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ocpp-v1_6/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | */ 4 | 5 | dependencies { 6 | compile project(':common') 7 | compile project(':OCPP-J') 8 | compile 'org.java-websocket:Java-WebSocket:1.5.3' 9 | compile group: 'javax.xml.soap', name: 'javax.xml.soap-api', version: '1.4.0' 10 | 11 | testCompile 'junit:junit:4.13.2' 12 | testCompile 'org.mockito:mockito-core:4.11.0' 13 | testCompile 'org.hamcrest:hamcrest-core:1.3' 14 | } 15 | 16 | task javadocJar(type: Jar) { 17 | classifier = 'javadoc' 18 | from(javadoc.destinationDir) 19 | } 20 | 21 | description = 'Java-OCA-OCPP v1.6' 22 | publishing.publications.maven.artifact(javadocJar) 23 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/SOAPMessageInfo.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp; 2 | 3 | import java.net.InetSocketAddress; 4 | import javax.xml.soap.SOAPMessage; 5 | 6 | /** Created by emil on 21.05.2017. */ 7 | public class SOAPMessageInfo { 8 | private final InetSocketAddress address; 9 | private final SOAPMessage message; 10 | 11 | public SOAPMessageInfo(InetSocketAddress address, SOAPMessage message) { 12 | this.address = address; 13 | this.message = message; 14 | } 15 | 16 | public InetSocketAddress getAddress() { 17 | return address; 18 | } 19 | 20 | public SOAPMessage getMessage() { 21 | return message; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/ChargingProfileKindType.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | /** Accepted values used with {@link ChargingProfile} */ 30 | public enum ChargingProfileKindType { 31 | Absolute, 32 | Recurring, 33 | Relative 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/ChargingProfilePurposeType.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | /** Accepted values used with {@link ChargingProfile}. */ 30 | public enum ChargingProfilePurposeType { 31 | ChargePointMaxProfile, 32 | TxDefaultProfile, 33 | TxProfile 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/ChargingRateUnitType.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | /** Accepted values used for {@link ChargingSchedule}. */ 30 | public enum ChargingRateUnitType { 31 | W, 32 | A 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/ClearCacheStatus.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | /** Accepted values used with {@link ClearCacheConfirmation}. */ 30 | public enum ClearCacheStatus { 31 | Accepted, 32 | Rejected 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/DataTransferStatus.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | /** Accepted values used with {@link DataTransferConfirmation} */ 30 | public enum DataTransferStatus { 31 | Accepted, 32 | Rejected, 33 | UnknownMessageId, 34 | UnknownVendorId 35 | } 36 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/Location.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | /** Accepted values used with {@link SampledValue}. */ 30 | public enum Location { 31 | Body, 32 | Cable, 33 | EV, 34 | Inlet, 35 | Outlet 36 | } 37 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/RecurrencyKindType.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | /** Accepted values used with {@link ChargingProfile}. */ 30 | public enum RecurrencyKindType { 31 | Daily, 32 | Weekly 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/RegistrationStatus.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | /** Accepted values used with {@link BootNotificationConfirmation}. */ 30 | public enum RegistrationStatus { 31 | Accepted, 32 | Pending, 33 | Rejected 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/ResetStatus.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | /** Accepted values used with {@link ResetConfirmation}. */ 30 | public enum ResetStatus { 31 | Accepted, 32 | Rejected 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/ResetType.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | /** Accepted values used with {@link ResetRequest}. */ 30 | public enum ResetType { 31 | Hard, 32 | Soft 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/UnlockStatus.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | /** Accepted values used with {@link UnlockConnectorConfirmation}. */ 30 | public enum UnlockStatus { 31 | Unlocked, 32 | UnlockFailed, 33 | NotSupported 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/ValueFormat.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | /** Accepted values used with {@link SampledValue}. */ 30 | public enum ValueFormat { 31 | Raw, 32 | SignedData 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/localauthlist/UpdateStatus.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.localauthlist; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | public enum UpdateStatus { 30 | Accepted, 31 | Failed, 32 | NotSupported, 33 | VersionMismatch 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/localauthlist/UpdateType.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.localauthlist; 2 | 3 | /* 4 | * ChargeTime.eu - Java-OCA-OCPP 5 | * 6 | * MIT License 7 | * 8 | * Copyright (C) 2016-2018 Thomas Volden 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in all 18 | * copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | * SOFTWARE. 27 | */ 28 | 29 | public enum UpdateType { 30 | Differential, 31 | Full 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/remotetrigger/TriggerMessageStatus.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.remotetrigger; 2 | 3 | /* 4 | ChargeTime.eu - Java-OCA-OCPP 5 | Copyright (C) 2017 Emil Christopher Solli Melar 6 | 7 | MIT License 8 | 9 | Copyright (C) 2017 Emil Christopher Solli Melar 10 | 11 | Permission is hereby granted, free of charge, to any person obtaining a copy 12 | of this software and associated documentation files (the "Software"), to deal 13 | in the Software without restriction, including without limitation the rights 14 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | copies of the Software, and to permit persons to whom the Software is 16 | furnished to do so, subject to the following conditions: 17 | 18 | The above copyright notice and this permission notice shall be included in all 19 | copies or substantial portions of the Software. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 27 | SOFTWARE. 28 | */ 29 | 30 | public enum TriggerMessageStatus { 31 | Accepted, 32 | Rejected, 33 | NotImplemented 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/smartcharging/ChargingRateUnitType.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.smartcharging; 2 | /* 3 | ChargeTime.eu - Java-OCA-OCPP 4 | 5 | MIT License 6 | 7 | Copyright (C) 2019 Kevin Raddatz 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy 10 | of this software and associated documentation files (the "Software"), to deal 11 | in the Software without restriction, including without limitation the rights 12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the Software is 14 | furnished to do so, subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in all 17 | copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. 26 | */ 27 | 28 | public enum ChargingRateUnitType { 29 | W, 30 | A 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/smartcharging/GetCompositeScheduleStatus.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.smartcharging; 2 | 3 | /* 4 | ChargeTime.eu - Java-OCA-OCPP 5 | 6 | MIT License 7 | 8 | Copyright (C) 2019 Kevin Raddatz 9 | 10 | Permission is hereby granted, free of charge, to any person obtaining a copy 11 | of this software and associated documentation files (the "Software"), to deal 12 | in the Software without restriction, including without limitation the rights 13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | copies of the Software, and to permit persons to whom the Software is 15 | furnished to do so, subject to the following conditions: 16 | 17 | The above copyright notice and this permission notice shall be included in all 18 | copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | SOFTWARE. 27 | */ 28 | 29 | public enum GetCompositeScheduleStatus { 30 | Accepted, 31 | Rejected 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/test/java/eu/chargetime/ocpp/model/core/MeterValuesRequestTest.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.core; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import java.time.ZonedDateTime; 6 | 7 | public class MeterValuesRequestTest extends TestCase { 8 | 9 | public void testEmptyMeterValuesArray_FailsValidation() { 10 | MeterValuesRequest request = new MeterValuesRequest(1); 11 | request.setTransactionId(2); 12 | request.setMeterValue(new MeterValue[]{}); 13 | assertFalse(request.validate()); 14 | } 15 | 16 | public void testEmptySampledValuesArray_failsValidation() { 17 | MeterValuesRequest request = new MeterValuesRequest(1); 18 | MeterValue measured = new MeterValue(ZonedDateTime.now(), new SampledValue[]{}); 19 | request.setTransactionId(2); 20 | request.setMeterValue(new MeterValue[]{measured}); 21 | assertFalse(request.validate()); 22 | } 23 | 24 | public void testMeterValuesWithAtLeastOneMeasurementPassesValidation() { 25 | MeterValuesRequest request = new MeterValuesRequest(1); 26 | SampledValue sample = new SampledValue("5"); 27 | MeterValue measured = new MeterValue(ZonedDateTime.now(), new SampledValue[]{sample}); 28 | request.setTransactionId(2); 29 | request.setMeterValue(new MeterValue[]{measured}); 30 | assertTrue(request.validate()); 31 | } 32 | } -------------------------------------------------------------------------------- /ocpp-v1_6/src/test/java/eu/chargetime/ocpp/model/localauthlist/test/GetLocalListVersionRequestTest.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.localauthlist.test; 2 | 3 | import static org.hamcrest.CoreMatchers.equalTo; 4 | import static org.hamcrest.CoreMatchers.is; 5 | import static org.junit.Assert.assertThat; 6 | 7 | import eu.chargetime.ocpp.model.localauthlist.GetLocalListVersionRequest; 8 | import org.junit.Before; 9 | import org.junit.Test; 10 | import org.junit.runner.RunWith; 11 | import org.mockito.junit.MockitoJUnitRunner; 12 | 13 | @RunWith(MockitoJUnitRunner.class) 14 | public class GetLocalListVersionRequestTest { 15 | private GetLocalListVersionRequest request; 16 | 17 | @Before 18 | public void setUp() { 19 | request = new GetLocalListVersionRequest(); 20 | } 21 | 22 | @Test 23 | public void validate_returnTrue() { 24 | // When 25 | boolean isValid = request.validate(); 26 | 27 | // Then 28 | assertThat(isValid, is(equalTo(true))); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ocpp-v1_6/src/test/java/eu/chargetime/ocpp/model/test/TriggerMessageConfirmationTest.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.test; 2 | 3 | import static org.hamcrest.CoreMatchers.equalTo; 4 | import static org.hamcrest.CoreMatchers.is; 5 | import static org.junit.Assert.assertThat; 6 | 7 | import eu.chargetime.ocpp.model.remotetrigger.TriggerMessageConfirmation; 8 | import eu.chargetime.ocpp.model.remotetrigger.TriggerMessageStatus; 9 | import org.junit.Before; 10 | import org.junit.Test; 11 | 12 | public class TriggerMessageConfirmationTest { 13 | TriggerMessageConfirmation confirmation; 14 | 15 | @Before 16 | public void setUp() throws Exception { 17 | confirmation = new TriggerMessageConfirmation(); 18 | } 19 | 20 | @Test 21 | public void setStatus_status_IsSet() { 22 | // Given 23 | TriggerMessageStatus status = TriggerMessageStatus.Accepted; 24 | 25 | // When 26 | confirmation.setStatus(status); 27 | 28 | // Then 29 | assertThat(confirmation.getStatus(), equalTo(status)); 30 | } 31 | 32 | @Test 33 | public void validate_statusIsNull_returnsFalse() { 34 | // when 35 | boolean isValid = confirmation.validate(); 36 | 37 | // Then 38 | assertThat(isValid, is(false)); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /ocpp-v2-test/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | */ 4 | 5 | dependencies { 6 | compile project(':common') 7 | compile project(':v1_6') 8 | compile project(':v1_6-test') 9 | compile project(':ocpp-v2') 10 | compile 'com.google.code.findbugs:jsr305:3.0.1' 11 | testCompile 'junit:junit:4.13.2' 12 | testCompile 'org.mockito:mockito-core:4.11.0' 13 | testCompile 'org.hamcrest:hamcrest-core:1.3' 14 | } 15 | 16 | description = 'Java-OCA-OCPP v2 - Integration test' 17 | -------------------------------------------------------------------------------- /ocpp-v2-test/src/main/java/eu/chargetime/ocpp/test/FakeCSMS.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ChargeTime.eu - Java-OCA-OCPP 3 | * 4 | * Copyright (C) 2023 Robert Schlabbach (robert.schlabbach@ubitricity.com) 5 | * 6 | * MIT License 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | */ 26 | 27 | package eu.chargetime.ocpp.test; 28 | 29 | /** fake charging station management system interface */ 30 | public interface FakeCSMS { 31 | void startServer(); 32 | 33 | int getPort(); 34 | 35 | void stopServer(); 36 | } 37 | -------------------------------------------------------------------------------- /ocpp-v2/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | */ 4 | 5 | dependencies { 6 | compile project(':common') 7 | compile project(':OCPP-J') 8 | compile project(':v1_6') 9 | compile 'com.google.code.findbugs:jsr305:3.0.1' 10 | compile 'org.java-websocket:Java-WebSocket:1.5.3' 11 | testCompile 'junit:junit:4.13.2' 12 | testCompile 'org.mockito:mockito-core:4.11.0' 13 | testCompile 'org.hamcrest:hamcrest-core:1.3' 14 | } 15 | 16 | task javadocJar(type: Jar) { 17 | classifier = 'javadoc' 18 | from(javadoc.destinationDir) 19 | } 20 | 21 | description = 'Java-OCA-OCPP v2' 22 | publishing.publications.maven.artifact(javadocJar) 23 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/APNAuthenticationEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * APN. APN Authentication. APN Authentication Code 29 | * 30 | *

Authentication method. 31 | */ 32 | public enum APNAuthenticationEnum { 33 | CHAP, 34 | NONE, 35 | PAP, 36 | AUTO 37 | } 38 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/AttributeEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Type of attribute: Actual, Target, MinSet, MaxSet. Default is Actual when omitted. */ 28 | public enum AttributeEnum { 29 | Actual, 30 | Target, 31 | MinSet, 32 | MaxSet 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/CancelReservationStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The success or failure of the canceling of a reservation by CSMS. */ 28 | public enum CancelReservationStatusEnum { 29 | Accepted, 30 | Rejected 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/CertificateActionEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Whether certificate needs to be installed or updated. */ 28 | public enum CertificateActionEnum { 29 | Install, 30 | Update 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/CertificateSignedStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Returns whether certificate signing has been accepted, otherwise rejected. */ 28 | public enum CertificateSignedStatusEnum { 29 | Accepted, 30 | Rejected 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ChangeAvailabilityStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Whether the Charging Station is able to perform the availability change. */ 28 | public enum ChangeAvailabilityStatusEnum { 29 | Accepted, 30 | Rejected, 31 | Scheduled 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ChargingLimitSourceEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Source that has installed this charging profile. */ 28 | public enum ChargingLimitSourceEnum { 29 | EMS, 30 | Other, 31 | SO, 32 | CSO 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ChargingProfileKindEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * Charging Profile. Charging Profile Kind. Charging Profile Kind Code 29 | * 30 | *

The kind of schedule. 31 | */ 32 | public enum ChargingProfileKindEnum { 33 | Absolute, 34 | Recurring, 35 | Relative 36 | } 37 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ChargingRateUnitEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * Charging Schedule. Charging Rate Unit. Charging Rate Unit Code 29 | * 30 | *

The unit of measure Limit is expressed in. 31 | */ 32 | public enum ChargingRateUnitEnum { 33 | W, 34 | A 35 | } 36 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ClearCacheStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Accepted if the Charging Station has executed the request, otherwise rejected. */ 28 | public enum ClearCacheStatusEnum { 29 | Accepted, 30 | Rejected 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ClearChargingProfileStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Whether the Charging Station was able to execute the request. */ 28 | public enum ClearChargingProfileStatusEnum { 29 | Accepted, 30 | Unknown 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ClearMessageStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Returns whether the Charging Station has been able to remove the message. */ 28 | public enum ClearMessageStatusEnum { 29 | Accepted, 30 | Unknown 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ClearMonitoringStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Result of the clear request for this monitor, identified by its Id. */ 28 | public enum ClearMonitoringStatusEnum { 29 | Accepted, 30 | Rejected, 31 | NotFound 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ComponentCriterionEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** ComponentCriterionEnumType */ 28 | public enum ComponentCriterionEnum { 29 | Active, 30 | Available, 31 | Enabled, 32 | Problem 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ConnectorStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The current status of the Connector. */ 28 | public enum ConnectorStatusEnum { 29 | Available, 30 | Occupied, 31 | Reserved, 32 | Unavailable, 33 | Faulted 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/CostKindEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * Cost. Cost Kind. Cost Kind Code 29 | * 30 | *

The kind of cost referred to in the message element amount 31 | */ 32 | public enum CostKindEnum { 33 | CarbonDioxideEmission, 34 | RelativePricePercentage, 35 | RenewableGenerationPercentage 36 | } 37 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/CustomerInformationStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Whether the request was accepted. */ 28 | public enum CustomerInformationStatusEnum { 29 | Accepted, 30 | Rejected, 31 | Invalid 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/DataTransferStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The success or failure of the data transfer. */ 28 | public enum DataTransferStatusEnum { 29 | Accepted, 30 | Rejected, 31 | UnknownMessageId, 32 | UnknownVendorId 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/DeleteCertificateStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Charging Station indicates if it can process the request. */ 28 | public enum DeleteCertificateStatusEnum { 29 | Accepted, 30 | Failed, 31 | NotFound 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/EventNotificationEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Specifies the event notification type of the message. */ 28 | public enum EventNotificationEnum { 29 | HardWiredNotification, 30 | HardWiredMonitor, 31 | PreconfiguredMonitor, 32 | CustomMonitor 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/EventTriggerEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Type of monitor that triggered this event, e.g. exceeding a threshold value. */ 28 | public enum EventTriggerEnum { 29 | Alerting, 30 | Delta, 31 | Periodic 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/GenericDeviceModelStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Whether the Charging Station was able to accept the request. */ 28 | public enum GenericDeviceModelStatusEnum { 29 | Accepted, 30 | Rejected, 31 | NotSupported, 32 | EmptyResultSet 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/GenericStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Specifies whether the CSMS can process the request. */ 28 | public enum GenericStatusEnum { 29 | Accepted, 30 | Rejected 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/GetCertificateIdUseEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The type of the requested certificate(s). */ 28 | public enum GetCertificateIdUseEnum { 29 | V2GRootCertificate, 30 | MORootCertificate, 31 | CSMSRootCertificate, 32 | V2GCertificateChain, 33 | ManufacturerRootCertificate 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/GetCertificateStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Whether the charging station was able to retrieve the OCSP certificate status. */ 28 | public enum GetCertificateStatusEnum { 29 | Accepted, 30 | Failed 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/GetChargingProfileStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * Whether the Charging Station is able to process this request and will send 29 | * ReportChargingProfilesRequest messages. 30 | */ 31 | public enum GetChargingProfileStatusEnum { 32 | Accepted, 33 | NoProfiles 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/GetDisplayMessagesStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * Whether the Charging Station has Display Messages that match the request criteria in the 29 | * GetDisplayMessagesRequest 30 | */ 31 | public enum GetDisplayMessagesStatusEnum { 32 | Accepted, 33 | Unknown 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/GetInstalledCertificateStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Charging Station indicates if it can process the request. */ 28 | public enum GetInstalledCertificateStatusEnum { 29 | Accepted, 30 | NotFound 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/GetVariableStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Result status of getting the variable. */ 28 | public enum GetVariableStatusEnum { 29 | Accepted, 30 | Rejected, 31 | UnknownComponent, 32 | UnknownVariable, 33 | NotSupportedAttributeType 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/HashAlgorithmEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Used algorithms for the hashes provided. */ 28 | public enum HashAlgorithmEnum { 29 | SHA256, 30 | SHA384, 31 | SHA512 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/IdTokenEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Enumeration of possible idToken types. */ 28 | public enum IdTokenEnum { 29 | Central, 30 | eMAID, 31 | ISO14443, 32 | ISO15693, 33 | KeyCode, 34 | Local, 35 | MacAddress, 36 | NoAuthorization 37 | } 38 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/InstallCertificateStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Charging Station indicates if installation was successful. */ 28 | public enum InstallCertificateStatusEnum { 29 | Accepted, 30 | Rejected, 31 | Failed 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/InstallCertificateUseEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The certificate type that is sent. */ 28 | public enum InstallCertificateUseEnum { 29 | V2GRootCertificate, 30 | MORootCertificate, 31 | CSMSRootCertificate, 32 | ManufacturerRootCertificate 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/Iso15118EVCertificateStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Whether the message was processed properly. */ 28 | public enum Iso15118EVCertificateStatusEnum { 29 | Accepted, 30 | Failed 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/LocationEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * Sampled Value. Location. Location Code 29 | * 30 | *

Where the measured value has been sampled. Default = "Outlet" 31 | */ 32 | public enum LocationEnum { 33 | Body, 34 | Cable, 35 | EV, 36 | Inlet, 37 | Outlet 38 | } 39 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/LogEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The type of log file that the Charging Station should send. */ 28 | public enum LogEnum { 29 | DiagnosticsLog, 30 | SecurityLog 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/LogStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** This field indicates whether the Charging Station was able to accept the request. */ 28 | public enum LogStatusEnum { 29 | Accepted, 30 | Rejected, 31 | AcceptedCanceled 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/MessageFormatEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * Message Content. Format. Message Format Code 29 | * 30 | *

Format of the message. 31 | */ 32 | public enum MessageFormatEnum { 33 | ASCII, 34 | HTML, 35 | URI, 36 | UTF8 37 | } 38 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/MessagePriorityEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * Message Info. Priority. Message Priority Code 29 | * 30 | *

With what priority should this message be shown 31 | */ 32 | public enum MessagePriorityEnum { 33 | AlwaysFront, 34 | InFront, 35 | NormalCycle 36 | } 37 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/MonitorEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The type of this monitor, e.g. a threshold, delta or periodic monitor. */ 28 | public enum MonitorEnum { 29 | UpperThreshold, 30 | LowerThreshold, 31 | Delta, 32 | Periodic, 33 | PeriodicClockAligned 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/MonitoringBaseEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Specify which monitoring base will be set */ 28 | public enum MonitoringBaseEnum { 29 | All, 30 | FactoryDefault, 31 | HardWiredOnly 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/MonitoringCriterionEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** MonitoringCriterionEnumType */ 28 | public enum MonitoringCriterionEnum { 29 | ThresholdMonitoring, 30 | DeltaMonitoring, 31 | PeriodicMonitoring 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/MutabilityEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The mutability of this attribute. Default is ReadWrite when omitted. */ 28 | public enum MutabilityEnum { 29 | ReadOnly, 30 | WriteOnly, 31 | ReadWrite 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/OCPPInterfaceEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Applicable Network Interface. */ 28 | public enum OCPPInterfaceEnum { 29 | Wired0, 30 | Wired1, 31 | Wired2, 32 | Wired3, 33 | Wireless0, 34 | Wireless1, 35 | Wireless2, 36 | Wireless3 37 | } 38 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/OCPPVersionEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * Communication Function. OCPP Version. OCPP Version Code 29 | * 30 | *

The OCPP version used for this communication function. 31 | */ 32 | public enum OCPPVersionEnum { 33 | OCPP12, 34 | OCPP15, 35 | OCPP16, 36 | OCPP20 37 | } 38 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/OperationalStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The type of availability change that the Charging Station should perform. */ 28 | public enum OperationalStatusEnum { 29 | Inoperative, 30 | Operative 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/RecurrencyKindEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * Charging Profile. Recurrency Kind. Recurrency Kind Code 29 | * 30 | *

The start point of a recurrence. 31 | */ 32 | public enum RecurrencyKindEnum { 33 | Daily, 34 | Weekly 35 | } 36 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/RegistrationStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Whether the Charging Station has been registered within the CSMS. */ 28 | public enum RegistrationStatusEnum { 29 | Accepted, 30 | Pending, 31 | Rejected 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ReportBaseEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The report base. */ 28 | public enum ReportBaseEnum { 29 | ConfigurationInventory, 30 | FullInventory, 31 | SummaryInventory 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/RequestStartStopStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Status indicating whether Charging Station accepts the request to stop a transaction. */ 28 | public enum RequestStartStopStatusEnum { 29 | Accepted, 30 | Rejected 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ReservationUpdateStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The updated reservation status. */ 28 | public enum ReservationUpdateStatusEnum { 29 | Expired, 30 | Removed 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ReserveNowStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The success or failure of the reservation. */ 28 | public enum ReserveNowStatusEnum { 29 | Accepted, 30 | Faulted, 31 | Occupied, 32 | Rejected, 33 | Unavailable 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ResetEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The type of reset that the Charging Station or EVSE should perform. */ 28 | public enum ResetEnum { 29 | Immediate, 30 | OnIdle 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/ResetStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Whether the Charging Station is able to perform the reset. */ 28 | public enum ResetStatusEnum { 29 | Accepted, 30 | Rejected, 31 | Scheduled 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/SendLocalListStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * Whether the Charging Station has successfully received and applied the update of the Local 29 | * Authorization List. 30 | */ 31 | public enum SendLocalListStatusEnum { 32 | Accepted, 33 | Failed, 34 | VersionMismatch 35 | } 36 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/SetNetworkProfileStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Result of operation. */ 28 | public enum SetNetworkProfileStatusEnum { 29 | Accepted, 30 | Rejected, 31 | Failed 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/SetVariableStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Result status of setting the variable. */ 28 | public enum SetVariableStatusEnum { 29 | Accepted, 30 | Rejected, 31 | UnknownComponent, 32 | UnknownVariable, 33 | NotSupportedAttributeType, 34 | RebootRequired 35 | } 36 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/TriggerMessageStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Whether the Charging Station will send the requested notification or not. */ 28 | public enum TriggerMessageStatusEnum { 29 | Accepted, 30 | Rejected, 31 | NotImplemented 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/UnlockStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Whether the Charging Station has unlocked the connector. */ 28 | public enum UnlockStatusEnum { 29 | Unlocked, 30 | UnlockFailed, 31 | OngoingAuthorizedTransaction, 32 | UnknownConnector 33 | } 34 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/UnpublishFirmwareStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** Whether the Local Controller succeeded in unpublishing the firmware. */ 28 | public enum UnpublishFirmwareStatusEnum { 29 | DownloadOngoing, 30 | NoFirmware, 31 | Unpublished 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/UpdateEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The type of update (full or differential) of this request. */ 28 | public enum UpdateEnum { 29 | Differential, 30 | Full 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/UpdateFirmwareStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** This field indicates whether the Charging Station was able to accept the request. */ 28 | public enum UpdateFirmwareStatusEnum { 29 | Accepted, 30 | Rejected, 31 | AcceptedCanceled, 32 | InvalidCertificate, 33 | RevokedCertificate 34 | } 35 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/UploadLogStatusEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** The status of the log upload. */ 28 | public enum UploadLogStatusEnum { 29 | BadMessage, 30 | Idle, 31 | NotSupportedOperation, 32 | PermissionDenied, 33 | Uploaded, 34 | UploadFailure, 35 | Uploading, 36 | AcceptedCanceled 37 | } 38 | -------------------------------------------------------------------------------- /ocpp-v2/src/main/java/eu/chargetime/ocpp/v201/model/types/VPNEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | ChargeTime.eu - Java-OCA-OCPP 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | package eu.chargetime.ocpp.v201.model.types; 26 | 27 | /** 28 | * VPN. Type. VPN Code 29 | * 30 | *

Type of VPN 31 | */ 32 | public enum VPNEnum { 33 | IKEv2, 34 | IPSec, 35 | L2TP, 36 | PPTP 37 | } 38 | -------------------------------------------------------------------------------- /ocpp-v2_0-test/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | */ 4 | 5 | plugins { 6 | id 'groovy' 7 | } 8 | 9 | dependencies { 10 | compile project(':common') 11 | compile project(':v2_0') 12 | testCompile 'junit:junit:4.12' 13 | testCompile 'org.codehaus.groovy:groovy-all:2.4.11' 14 | testCompile 'org.spockframework:spock-core:1.0-groovy-2.4' 15 | testCompile 'org.hamcrest:hamcrest-core:1.3' 16 | testCompile 'ch.qos.logback:logback-core:1.1.2' 17 | testCompile 'ch.qos.logback:logback-classic:1.1.2' 18 | testCompile 'org.slf4j:jul-to-slf4j:1.7.10' 19 | } 20 | 21 | description = 'Java-OCA-OCPP v2.0 - Integration test' 22 | -------------------------------------------------------------------------------- /ocpp-v2_0-test/src/test/groovy/eu.chargetime.ocpp.test/features/BaseSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.base.json 2 | 3 | import eu.chargetime.ocpp.test.FakeCentralSystem 4 | import eu.chargetime.ocpp.test.FakeChargePoint 5 | import spock.lang.Shared 6 | import spock.lang.Specification 7 | 8 | abstract class BaseSpec extends Specification { 9 | 10 | @Shared 11 | FakeCentralSystem centralSystem = new FakeCentralSystem() 12 | @Shared 13 | FakeChargePoint chargePoint = new FakeChargePoint() 14 | 15 | def setupSpec() { 16 | // When a Central System is running 17 | centralSystem.started() 18 | } 19 | 20 | def setup() { 21 | //Thread.sleep(100); 22 | chargePoint.connect() 23 | } 24 | 25 | def cleanup() { 26 | chargePoint.disconnect() 27 | } 28 | 29 | def cleanupSpec() { 30 | centralSystem.stopped() 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /ocpp-v2_0-test/src/test/groovy/eu.chargetime.ocpp.test/features/BootNotificationSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.features 2 | 3 | import eu.chargetime.ocpp.test.base.json.BaseSpec 4 | import eu.chargetime.ocpp.test.features.BootNotification 5 | import spock.util.concurrent.PollingConditions 6 | 7 | class BootNotificationSpec extends BaseSpec 8 | { 9 | def "Charge point sends Boot Notification and receives a response"() { 10 | def conditions = new PollingConditions(timeout: 1) 11 | 12 | given: 13 | def tester = new BootNotification() 14 | chargePoint.addFeature(tester.feature) 15 | centralSystem.addFeature(tester.feature) 16 | def request = tester.createRequest() 17 | 18 | when: 19 | chargePoint.send(request) 20 | 21 | then: 22 | conditions.eventually { 23 | assert centralSystem.hasHandled(request) 24 | } 25 | 26 | then: 27 | conditions.eventually { 28 | assert chargePoint.received(tester.confirmation) 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /ocpp-v2_0-test/src/test/groovy/eu.chargetime.ocpp.test/features/GetVariablesSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.features 2 | 3 | import eu.chargetime.ocpp.test.base.json.BaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class GetVariablesSpec extends BaseSpec 7 | { 8 | def "The central system sends a Get Variables request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 11) 10 | 11 | given: 12 | def tester = new GetVariables() 13 | chargePoint.addFeature(tester.feature) 14 | centralSystem.addFeature(tester.feature) 15 | def request = tester.createRequest() 16 | 17 | when: 18 | centralSystem.send(request) 19 | 20 | then: 21 | conditions.eventually { 22 | assert chargePoint.hasHandled(request) 23 | } 24 | 25 | then: 26 | conditions.eventually { 27 | assert centralSystem.received(tester.confirmation) 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ocpp-v2_0-test/src/test/groovy/eu.chargetime.ocpp.test/features/SetVariablesSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.features 2 | 3 | import eu.chargetime.ocpp.test.base.json.BaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class SetVariablesSpec extends BaseSpec 7 | { 8 | def "The central system sends a Set Variables request and receives a response"() { 9 | def conditions = new PollingConditions(timeout: 11) 10 | 11 | given: 12 | def tester = new SetVariables() 13 | chargePoint.addFeature(tester.feature) 14 | centralSystem.addFeature(tester.feature) 15 | def request = tester.createRequest() 16 | 17 | when: 18 | centralSystem.send(request) 19 | 20 | then: 21 | conditions.eventually { 22 | assert chargePoint.hasHandled(request) 23 | } 24 | 25 | then: 26 | conditions.eventually { 27 | assert centralSystem.received(tester.confirmation) 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ocpp-v2_0-test/src/test/groovy/eu.chargetime.ocpp.test/features/StatusNotificationSpec.groovy: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.test.features 2 | 3 | import eu.chargetime.ocpp.test.base.json.BaseSpec 4 | import spock.util.concurrent.PollingConditions 5 | 6 | class StatusNotificationSpec extends BaseSpec { 7 | def "Charge point sends Status Notification and receives a response"() { 8 | def conditions = new PollingConditions(timeout: 1) 9 | 10 | given: 11 | def tester = new StatusNotification() 12 | chargePoint.addFeature(tester.feature) 13 | centralSystem.addFeature(tester.feature) 14 | def request = tester.createRequest() 15 | 16 | when: 17 | chargePoint.send(request) 18 | 19 | then: 20 | conditions.eventually { 21 | assert centralSystem.hasHandled(request) 22 | } 23 | 24 | then: 25 | conditions.eventually { 26 | assert chargePoint.received(tester.confirmation) 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ocpp-v2_0/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | */ 4 | 5 | dependencies { 6 | compile project(':common') 7 | compile project(':OCPP-J') 8 | compile 'org.java-websocket:Java-WebSocket:1.5.3' 9 | testCompile 'junit:junit:4.13.2' 10 | testCompile 'org.mockito:mockito-core:4.11.0' 11 | testCompile 'org.hamcrest:hamcrest-core:1.3' 12 | } 13 | 14 | task javadocJar(type: Jar) { 15 | classifier = 'javadoc' 16 | from(javadoc.destinationDir) 17 | } 18 | 19 | description = 'Java-OCA-OCPP v2.0' 20 | publishing.publications.maven.artifact(javadocJar) 21 | -------------------------------------------------------------------------------- /ocpp-v2_0/src/main/java/eu/chargetime/ocpp/model/basic/types/ConnectorStatusEnumType.java: -------------------------------------------------------------------------------- 1 | package eu.chargetime.ocpp.model.basic.types; 2 | /* 3 | ChargeTime.eu - Java-OCA-OCPP 4 | 5 | MIT License 6 | 7 | Copyright (C) 2021 John Michael Luy 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy 10 | of this software and associated documentation files (the "Software"), to deal 11 | in the Software without restriction, including without limitation the rights 12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the Software is 14 | furnished to do so, subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in all 17 | copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. 26 | */ 27 | 28 | public enum ConnectorStatusEnumType { 29 | Available, 30 | Occupied, 31 | Reserved, 32 | Unavailable, 33 | Faulted 34 | } 35 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | */ 4 | 5 | rootProject.name = 'all' 6 | include(':common') 7 | project(':common').projectDir = file('ocpp-common') 8 | include(':OCPP-J') 9 | include(':ocpp-v2') 10 | include(':ocpp-v2-test') 11 | include(':v2_0') 12 | include(':v2_0-test') 13 | project(':v2_0').projectDir = file('ocpp-v2_0') 14 | project(':v2_0-test').projectDir = file('ocpp-v2_0-test') 15 | include(':v1_6') 16 | include(':v1_6-test') 17 | project(':v1_6').projectDir = file('ocpp-v1_6') 18 | project(':v1_6-test').projectDir = file('ocpp-v1_6-test') --------------------------------------------------------------------------------