/** * {@inheritDoc} */ @Override public void handle(StopTransactionRequestedEvent event, CorrelationToken correlationToken) { LOG.info("OCPP 1.2 StopTransactionRequestedEvent"); if (event.getTransactionId() instanceof NumberedTransactionId) { NumberedTransactionId transactionId = (NumberedTransactionId) event.getTransactionId(); chargingStationOcpp12Client.stopTransaction(event.getChargingStationId(), transactionId.getNumber()); } else { LOG.warn("StopTransactionRequestedEvent does not contain a NumberedTransactionId. Event: {}", event); } }
public void remoteStopTransaction(ChargingStationId chargingStationId, TransactionId transactionId, CorrelationToken correlationToken) { NumberedTransactionId transactionIdNumber = (NumberedTransactionId) transactionId; Remotestoptransaction remoteStopTransactionRequest = new Remotestoptransaction(); remoteStopTransactionRequest.setTransactionId(transactionIdNumber.getNumber()); responseHandlers.put(correlationToken.getToken(), new RemoteStopTransactionResponseHandler(correlationToken)); WampMessage wampMessage = new WampMessage(WampMessage.CALL, correlationToken.getToken(), MessageProcUri.REMOTE_STOP_TRANSACTION, remoteStopTransactionRequest); sendWampMessage(wampMessage, chargingStationId); }
public void stopTransaction(ChargingStationId chargingStationId, NumberedTransactionId transactionId, IdentifyingToken idTag, int meterValueStop, Date timeStamp, List<MeterValue> meterValues, AddOnIdentity addOnIdentity) { this.checkChargingStationExistsAndIsRegisteredAndConfigured(chargingStationId); IdentityContext identityContext = new IdentityContext(addOnIdentity, new NullUserIdentity()); StopTransactionCommand command = new StopTransactionCommand(chargingStationId, transactionId, idTag, meterValueStop, timeStamp, identityContext); commandGateway.send(command); if (meterValues != null && !meterValues.isEmpty()) { Transaction transaction = transactionRepository.findTransactionById((long) transactionId.getNumber()); commandGateway.send(new ProcessMeterValueCommand(chargingStationId, transactionId, transaction.getEvseId(), meterValues, identityContext)); } }
/** * {@inheritDoc} */ @Override public void handle(StopTransactionRequestedEvent event, CorrelationToken correlationToken) { LOG.info("StopTransactionRequestedEvent"); if (event.getTransactionId() instanceof NumberedTransactionId) { NumberedTransactionId transactionId = (NumberedTransactionId) event.getTransactionId(); boolean stopTransactionAccepted = chargingStationOcpp15Client.stopTransaction(event.getChargingStationId(), transactionId.getNumber()); if (stopTransactionAccepted){ domainService.informRequestStopTransactionAccepted(event.getChargingStationId(), event.getTransactionId(), event.getIdentityContext(), correlationToken); } else { domainService.informRequestStopTransactionRejected(event.getChargingStationId(), event.getTransactionId(), event.getIdentityContext(), correlationToken); } } else { LOG.warn("StopTransactionRequestedEvent does not contain a NumberedTransactionId. Event: {}", event); } }
@EventHandler protected void onEvent(TransactionStartedEvent event) { LOG.info("Sending notifyRequestResult for a TransactionStartedEvent to the source PMS"); String authorizationIdentifier = event.getStartTransactionInfo().getIdentifyingToken().getToken(); Integer transactionId = ((NumberedTransactionId) event.getTransactionId()).getNumber(); SessionInfo sessionInfo = destinationSessionRepository.findSessionInfoByAuthorizationId(authorizationIdentifier); sessionInfo.setTransactionId(transactionId); sessionInfo.getSessionStateMachine().eventStartOk(); sessionInfo.setMeterStart(event.getStartTransactionInfo().getMeterStart()); sessionInfo.setStartTimestamp(event.getStartTransactionInfo().getTimestamp()); destinationSessionRepository.insertOrUpdateSessionInfo(sessionInfo); String requestIdentifier = sessionInfo.getRequestIdentifier(); SourceEndpoint sourceEndpoint = sourceEndpointRepository.findSourceEndpointByPmsIdentifier(sessionInfo.getPmsIdentifier()); SourceClient sourceClient = new SourceClient(sourceEndpoint.getSourceEndpointUrl()); DestinationNotifyRequestResultRequest destinationNotifyRequestResultRequest = new DestinationNotifyRequestResultRequest(requestIdentifier); sourceClient.notifyRequestResult(destinationNotifyRequestResultRequest); LOG.info("Received a notifyRequestResultResponse from the source PMS"); }
futureResult.setTransactionId(transactionId.getNumber());
response.setTransactionId(transactionId.getNumber()); response.setIdTagInfo(idTagInfo);
@EventHandler protected void onEvent(TransactionStoppedEvent event) { LOG.info("Sending notifyRequestResult for a TransactionStoppedEvent to the source PMS"); Integer transactionId = ((NumberedTransactionId) event.getTransactionId()).getNumber();