diff --git a/pom.xml b/pom.xml
index 2cbf39b56..0ef520dc6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -525,7 +525,7 @@
org.springdocspringdoc-openapi-starter-webmvc-ui
- 2.7.0
+ 2.8.0
@@ -787,7 +787,7 @@
org.mockitomockito-junit-jupiter
- 5.14.2
+ 5.15.2test
diff --git a/src/main/java/de/rwth/idsg/steve/Application.java b/src/main/java/de/rwth/idsg/steve/Application.java
index 2682f72a3..0b91bfdc4 100644
--- a/src/main/java/de/rwth/idsg/steve/Application.java
+++ b/src/main/java/de/rwth/idsg/steve/Application.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ApplicationProfile.java b/src/main/java/de/rwth/idsg/steve/ApplicationProfile.java
index 74f1d3e3b..23945cf64 100644
--- a/src/main/java/de/rwth/idsg/steve/ApplicationProfile.java
+++ b/src/main/java/de/rwth/idsg/steve/ApplicationProfile.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ApplicationStarter.java b/src/main/java/de/rwth/idsg/steve/ApplicationStarter.java
index e09d3c975..126f5dbf8 100644
--- a/src/main/java/de/rwth/idsg/steve/ApplicationStarter.java
+++ b/src/main/java/de/rwth/idsg/steve/ApplicationStarter.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/JettyServer.java b/src/main/java/de/rwth/idsg/steve/JettyServer.java
index 413996e02..3b4117666 100644
--- a/src/main/java/de/rwth/idsg/steve/JettyServer.java
+++ b/src/main/java/de/rwth/idsg/steve/JettyServer.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/NotificationFeature.java b/src/main/java/de/rwth/idsg/steve/NotificationFeature.java
index dc5d94422..9b6b78089 100644
--- a/src/main/java/de/rwth/idsg/steve/NotificationFeature.java
+++ b/src/main/java/de/rwth/idsg/steve/NotificationFeature.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/SteveAppContext.java b/src/main/java/de/rwth/idsg/steve/SteveAppContext.java
index f94dce2ad..7eb2d06cb 100644
--- a/src/main/java/de/rwth/idsg/steve/SteveAppContext.java
+++ b/src/main/java/de/rwth/idsg/steve/SteveAppContext.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/SteveConfiguration.java b/src/main/java/de/rwth/idsg/steve/SteveConfiguration.java
index 7443caa06..96f2341a9 100644
--- a/src/main/java/de/rwth/idsg/steve/SteveConfiguration.java
+++ b/src/main/java/de/rwth/idsg/steve/SteveConfiguration.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/SteveDevStarter.java b/src/main/java/de/rwth/idsg/steve/SteveDevStarter.java
index b34e343db..f808d10b1 100644
--- a/src/main/java/de/rwth/idsg/steve/SteveDevStarter.java
+++ b/src/main/java/de/rwth/idsg/steve/SteveDevStarter.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/SteveException.java b/src/main/java/de/rwth/idsg/steve/SteveException.java
index 563c2d3e9..cb135158e 100644
--- a/src/main/java/de/rwth/idsg/steve/SteveException.java
+++ b/src/main/java/de/rwth/idsg/steve/SteveException.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/SteveProdCondition.java b/src/main/java/de/rwth/idsg/steve/SteveProdCondition.java
index 77d774c45..3e25a3280 100644
--- a/src/main/java/de/rwth/idsg/steve/SteveProdCondition.java
+++ b/src/main/java/de/rwth/idsg/steve/SteveProdCondition.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/SteveProdStarter.java b/src/main/java/de/rwth/idsg/steve/SteveProdStarter.java
index 58e8c1d6a..5b92c89a9 100644
--- a/src/main/java/de/rwth/idsg/steve/SteveProdStarter.java
+++ b/src/main/java/de/rwth/idsg/steve/SteveProdStarter.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/config/ApiAuthenticationManager.java b/src/main/java/de/rwth/idsg/steve/config/ApiAuthenticationManager.java
index 0d51bc01c..09ae34285 100644
--- a/src/main/java/de/rwth/idsg/steve/config/ApiAuthenticationManager.java
+++ b/src/main/java/de/rwth/idsg/steve/config/ApiAuthenticationManager.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/config/ApiDocsConfiguration.java b/src/main/java/de/rwth/idsg/steve/config/ApiDocsConfiguration.java
index 4869bf77b..2b1d65076 100644
--- a/src/main/java/de/rwth/idsg/steve/config/ApiDocsConfiguration.java
+++ b/src/main/java/de/rwth/idsg/steve/config/ApiDocsConfiguration.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -60,6 +60,10 @@ public class ApiDocsConfiguration {
System.setProperty("springdoc.swagger-ui.path", "/manager/swagger-ui/index.html");
// We only want REST APIs here (de.rwth.idsg.steve.web.api package)
System.setProperty("springdoc.paths-to-match", "/api/**");
+ // Sort controllers alphabetically by their path
+ System.setProperty("springdoc.swagger-ui.tagsSorter", "alpha");
+ // Sort endpoints (within a controller) alphabetically by their path
+ System.setProperty("springdoc.swagger-ui.operationsSorter", "alpha");
}
@Bean
diff --git a/src/main/java/de/rwth/idsg/steve/config/BeanConfiguration.java b/src/main/java/de/rwth/idsg/steve/config/BeanConfiguration.java
index 4c4941ddf..12d0d885b 100644
--- a/src/main/java/de/rwth/idsg/steve/config/BeanConfiguration.java
+++ b/src/main/java/de/rwth/idsg/steve/config/BeanConfiguration.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/config/OcppConfiguration.java b/src/main/java/de/rwth/idsg/steve/config/OcppConfiguration.java
index 2ef43b5fa..c21af9d05 100644
--- a/src/main/java/de/rwth/idsg/steve/config/OcppConfiguration.java
+++ b/src/main/java/de/rwth/idsg/steve/config/OcppConfiguration.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/config/SecurityConfiguration.java b/src/main/java/de/rwth/idsg/steve/config/SecurityConfiguration.java
index 2b1a91b14..b4a5aa24e 100644
--- a/src/main/java/de/rwth/idsg/steve/config/SecurityConfiguration.java
+++ b/src/main/java/de/rwth/idsg/steve/config/SecurityConfiguration.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/config/WebSocketConfiguration.java b/src/main/java/de/rwth/idsg/steve/config/WebSocketConfiguration.java
index 23b1c0cb1..917304f9b 100644
--- a/src/main/java/de/rwth/idsg/steve/config/WebSocketConfiguration.java
+++ b/src/main/java/de/rwth/idsg/steve/config/WebSocketConfiguration.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService12_InvokerImpl.java b/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService12_InvokerImpl.java
deleted file mode 100644
index 58cdd14ab..000000000
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService12_InvokerImpl.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
- * All Rights Reserved.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package de.rwth.idsg.steve.ocpp;
-
-import de.rwth.idsg.steve.ocpp.soap.ClientProvider;
-import de.rwth.idsg.steve.ocpp.soap.ClientProviderWithCache;
-import de.rwth.idsg.steve.ocpp.task.ChangeAvailabilityTask;
-import de.rwth.idsg.steve.ocpp.task.ChangeConfigurationTask;
-import de.rwth.idsg.steve.ocpp.task.ClearCacheTask;
-import de.rwth.idsg.steve.ocpp.task.GetDiagnosticsTask;
-import de.rwth.idsg.steve.ocpp.task.RemoteStartTransactionTask;
-import de.rwth.idsg.steve.ocpp.task.RemoteStopTransactionTask;
-import de.rwth.idsg.steve.ocpp.task.ResetTask;
-import de.rwth.idsg.steve.ocpp.task.UnlockConnectorTask;
-import de.rwth.idsg.steve.ocpp.task.UpdateFirmwareTask;
-import de.rwth.idsg.steve.ocpp.ws.ChargePointServiceInvoker;
-import de.rwth.idsg.steve.ocpp.ws.ocpp12.Ocpp12TypeStore;
-import de.rwth.idsg.steve.ocpp.ws.ocpp12.Ocpp12WebSocketEndpoint;
-import de.rwth.idsg.steve.ocpp.ws.pipeline.OutgoingCallPipeline;
-import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
-import ocpp.cp._2010._08.ChargePointService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- * @author Sevket Goekay
- * @since 10.03.2018
- */
-@Service
-public class ChargePointService12_InvokerImpl implements ChargePointService12_Invoker {
-
- private final ChargePointServiceInvoker wsHelper;
- private final ClientProviderWithCache soapHelper;
-
- @Autowired
- public ChargePointService12_InvokerImpl(OutgoingCallPipeline pipeline, Ocpp12WebSocketEndpoint endpoint, ClientProvider clientProvider) {
- this.wsHelper = new ChargePointServiceInvoker(pipeline, endpoint, Ocpp12TypeStore.INSTANCE);
- this.soapHelper = new ClientProviderWithCache<>(clientProvider);
- }
-
- @Override
- public void reset(ChargePointSelect cp, ResetTask task) {
- if (cp.isSoap()) {
- create(cp).resetAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void clearCache(ChargePointSelect cp, ClearCacheTask task) {
- if (cp.isSoap()) {
- create(cp).clearCacheAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void getDiagnostics(ChargePointSelect cp, GetDiagnosticsTask task) {
- if (cp.isSoap()) {
- create(cp).getDiagnosticsAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void updateFirmware(ChargePointSelect cp, UpdateFirmwareTask task) {
- if (cp.isSoap()) {
- create(cp).updateFirmwareAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void unlockConnector(ChargePointSelect cp, UnlockConnectorTask task) {
- if (cp.isSoap()) {
- create(cp).unlockConnectorAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void changeAvailability(ChargePointSelect cp, ChangeAvailabilityTask task) {
- if (cp.isSoap()) {
- create(cp).changeAvailabilityAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void changeConfiguration(ChargePointSelect cp, ChangeConfigurationTask task) {
- if (cp.isSoap()) {
- create(cp).changeConfigurationAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void remoteStartTransaction(ChargePointSelect cp, RemoteStartTransactionTask task) {
- if (cp.isSoap()) {
- create(cp).remoteStartTransactionAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void remoteStopTransaction(ChargePointSelect cp, RemoteStopTransactionTask task) {
- if (cp.isSoap()) {
- create(cp).remoteStopTransactionAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- private void runPipeline(ChargePointSelect cp, CommunicationTask task) {
- wsHelper.runPipeline(cp, task);
- }
-
- private ChargePointService create(ChargePointSelect cp) {
- return soapHelper.createClient(ChargePointService.class, cp.getEndpointAddress());
- }
-}
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService15_Invoker.java b/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService15_Invoker.java
deleted file mode 100644
index 75d782dbc..000000000
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService15_Invoker.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
- * All Rights Reserved.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package de.rwth.idsg.steve.ocpp;
-
-import de.rwth.idsg.steve.ocpp.task.CancelReservationTask;
-import de.rwth.idsg.steve.ocpp.task.DataTransferTask;
-import de.rwth.idsg.steve.ocpp.task.GetConfigurationTask;
-import de.rwth.idsg.steve.ocpp.task.GetLocalListVersionTask;
-import de.rwth.idsg.steve.ocpp.task.ReserveNowTask;
-import de.rwth.idsg.steve.ocpp.task.SendLocalListTask;
-import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
-
-/**
- * @author Sevket Goekay
- * @since 20.03.2015
- */
-public interface ChargePointService15_Invoker extends ChargePointService12_Invoker {
-
- void dataTransfer(ChargePointSelect cp, DataTransferTask task);
-
- void getConfiguration(ChargePointSelect cp, GetConfigurationTask task);
-
- void getLocalListVersion(ChargePointSelect cp, GetLocalListVersionTask task);
-
- void sendLocalList(ChargePointSelect cp, SendLocalListTask task);
-
- void reserveNow(ChargePointSelect cp, ReserveNowTask task);
-
- void cancelReservation(ChargePointSelect cp, CancelReservationTask task);
-}
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService15_InvokerImpl.java b/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService15_InvokerImpl.java
deleted file mode 100644
index 1dbccca10..000000000
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService15_InvokerImpl.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
- * All Rights Reserved.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package de.rwth.idsg.steve.ocpp;
-
-import de.rwth.idsg.steve.ocpp.soap.ClientProvider;
-import de.rwth.idsg.steve.ocpp.soap.ClientProviderWithCache;
-import de.rwth.idsg.steve.ocpp.task.CancelReservationTask;
-import de.rwth.idsg.steve.ocpp.task.ChangeAvailabilityTask;
-import de.rwth.idsg.steve.ocpp.task.ChangeConfigurationTask;
-import de.rwth.idsg.steve.ocpp.task.ClearCacheTask;
-import de.rwth.idsg.steve.ocpp.task.DataTransferTask;
-import de.rwth.idsg.steve.ocpp.task.GetConfigurationTask;
-import de.rwth.idsg.steve.ocpp.task.GetDiagnosticsTask;
-import de.rwth.idsg.steve.ocpp.task.GetLocalListVersionTask;
-import de.rwth.idsg.steve.ocpp.task.RemoteStartTransactionTask;
-import de.rwth.idsg.steve.ocpp.task.RemoteStopTransactionTask;
-import de.rwth.idsg.steve.ocpp.task.ReserveNowTask;
-import de.rwth.idsg.steve.ocpp.task.ResetTask;
-import de.rwth.idsg.steve.ocpp.task.SendLocalListTask;
-import de.rwth.idsg.steve.ocpp.task.UnlockConnectorTask;
-import de.rwth.idsg.steve.ocpp.task.UpdateFirmwareTask;
-import de.rwth.idsg.steve.ocpp.ws.ChargePointServiceInvoker;
-import de.rwth.idsg.steve.ocpp.ws.ocpp15.Ocpp15TypeStore;
-import de.rwth.idsg.steve.ocpp.ws.ocpp15.Ocpp15WebSocketEndpoint;
-import de.rwth.idsg.steve.ocpp.ws.pipeline.OutgoingCallPipeline;
-import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
-import ocpp.cp._2012._06.ChargePointService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- * @author Sevket Goekay
- * @since 10.03.2018
- */
-@Service
-public class ChargePointService15_InvokerImpl implements ChargePointService15_Invoker {
-
- private final ChargePointServiceInvoker wsHelper;
- private final ClientProviderWithCache soapHelper;
-
- @Autowired
- public ChargePointService15_InvokerImpl(OutgoingCallPipeline pipeline, Ocpp15WebSocketEndpoint endpoint, ClientProvider clientProvider) {
- this.wsHelper = new ChargePointServiceInvoker(pipeline, endpoint, Ocpp15TypeStore.INSTANCE);
- this.soapHelper = new ClientProviderWithCache<>(clientProvider);
- }
-
- @Override
- public void reset(ChargePointSelect cp, ResetTask task) {
- if (cp.isSoap()) {
- create(cp).resetAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void clearCache(ChargePointSelect cp, ClearCacheTask task) {
- if (cp.isSoap()) {
- create(cp).clearCacheAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void getDiagnostics(ChargePointSelect cp, GetDiagnosticsTask task) {
- if (cp.isSoap()) {
- create(cp).getDiagnosticsAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void updateFirmware(ChargePointSelect cp, UpdateFirmwareTask task) {
- if (cp.isSoap()) {
- create(cp).updateFirmwareAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void unlockConnector(ChargePointSelect cp, UnlockConnectorTask task) {
- if (cp.isSoap()) {
- create(cp).unlockConnectorAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
-
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void changeAvailability(ChargePointSelect cp, ChangeAvailabilityTask task) {
- if (cp.isSoap()) {
- create(cp).changeAvailabilityAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void changeConfiguration(ChargePointSelect cp, ChangeConfigurationTask task) {
- if (cp.isSoap()) {
- create(cp).changeConfigurationAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void remoteStartTransaction(ChargePointSelect cp, RemoteStartTransactionTask task) {
- if (cp.isSoap()) {
- create(cp).remoteStartTransactionAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void remoteStopTransaction(ChargePointSelect cp, RemoteStopTransactionTask task) {
- if (cp.isSoap()) {
- create(cp).remoteStopTransactionAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void dataTransfer(ChargePointSelect cp, DataTransferTask task) {
- if (cp.isSoap()) {
- create(cp).dataTransferAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void getConfiguration(ChargePointSelect cp, GetConfigurationTask task) {
- if (cp.isSoap()) {
- create(cp).getConfigurationAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void getLocalListVersion(ChargePointSelect cp, GetLocalListVersionTask task) {
- if (cp.isSoap()) {
- create(cp).getLocalListVersionAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void sendLocalList(ChargePointSelect cp, SendLocalListTask task) {
- if (cp.isSoap()) {
- create(cp).sendLocalListAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void reserveNow(ChargePointSelect cp, ReserveNowTask task) {
- if (cp.isSoap()) {
- create(cp).reserveNowAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void cancelReservation(ChargePointSelect cp, CancelReservationTask task) {
- if (cp.isSoap()) {
- create(cp).cancelReservationAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- private void runPipeline(ChargePointSelect cp, CommunicationTask task) {
- wsHelper.runPipeline(cp, task);
- }
-
- private ChargePointService create(ChargePointSelect cp) {
- return soapHelper.createClient(ChargePointService.class, cp.getEndpointAddress());
- }
-}
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService16_Invoker.java b/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService16_Invoker.java
deleted file mode 100644
index fa95f98ca..000000000
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService16_Invoker.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
- * All Rights Reserved.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package de.rwth.idsg.steve.ocpp;
-
-import de.rwth.idsg.steve.ocpp.task.ClearChargingProfileTask;
-import de.rwth.idsg.steve.ocpp.task.GetCompositeScheduleTask;
-import de.rwth.idsg.steve.ocpp.task.SetChargingProfileTask;
-import de.rwth.idsg.steve.ocpp.task.TriggerMessageTask;
-import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
-
-/**
- * @author Sevket Goekay
- * @since 13.03.2018
- */
-public interface ChargePointService16_Invoker extends ChargePointService15_Invoker {
-
- void clearChargingProfile(ChargePointSelect cp, ClearChargingProfileTask task);
-
- void setChargingProfile(ChargePointSelect cp, SetChargingProfileTask task);
-
- void getCompositeSchedule(ChargePointSelect cp, GetCompositeScheduleTask task);
-
- void triggerMessage(ChargePointSelect cp, TriggerMessageTask task);
-
-}
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService16_InvokerImpl.java b/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService16_InvokerImpl.java
deleted file mode 100644
index 49681c293..000000000
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService16_InvokerImpl.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
- * All Rights Reserved.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package de.rwth.idsg.steve.ocpp;
-
-import de.rwth.idsg.steve.ocpp.soap.ClientProvider;
-import de.rwth.idsg.steve.ocpp.soap.ClientProviderWithCache;
-import de.rwth.idsg.steve.ocpp.task.*;
-import de.rwth.idsg.steve.ocpp.ws.ChargePointServiceInvoker;
-import de.rwth.idsg.steve.ocpp.ws.ocpp16.Ocpp16TypeStore;
-import de.rwth.idsg.steve.ocpp.ws.ocpp16.Ocpp16WebSocketEndpoint;
-import de.rwth.idsg.steve.ocpp.ws.pipeline.OutgoingCallPipeline;
-import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
-import ocpp.cp._2015._10.ChargePointService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- * @author Sevket Goekay
- * @since 13.03.2018
- */
-@Service
-public class ChargePointService16_InvokerImpl implements ChargePointService16_Invoker {
-
- private final ChargePointServiceInvoker wsHelper;
- private final ClientProviderWithCache soapHelper;
-
- @Autowired
- public ChargePointService16_InvokerImpl(OutgoingCallPipeline pipeline, Ocpp16WebSocketEndpoint endpoint, ClientProvider clientProvider) {
- this.wsHelper = new ChargePointServiceInvoker(pipeline, endpoint, Ocpp16TypeStore.INSTANCE);
- this.soapHelper = new ClientProviderWithCache<>(clientProvider);
- }
-
- @Override
- public void clearChargingProfile(ChargePointSelect cp, ClearChargingProfileTask task) {
- if (cp.isSoap()) {
- create(cp).clearChargingProfileAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void setChargingProfile(ChargePointSelect cp, SetChargingProfileTask task) {
- if (cp.isSoap()) {
- create(cp).setChargingProfileAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void getCompositeSchedule(ChargePointSelect cp, GetCompositeScheduleTask task) {
- if (cp.isSoap()) {
- create(cp).getCompositeScheduleAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void triggerMessage(ChargePointSelect cp, TriggerMessageTask task) {
- if (cp.isSoap()) {
- create(cp).triggerMessageAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void reset(ChargePointSelect cp, ResetTask task) {
- if (cp.isSoap()) {
- create(cp).resetAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void clearCache(ChargePointSelect cp, ClearCacheTask task) {
- if (cp.isSoap()) {
- create(cp).clearCacheAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void getDiagnostics(ChargePointSelect cp, GetDiagnosticsTask task) {
- if (cp.isSoap()) {
- create(cp).getDiagnosticsAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void updateFirmware(ChargePointSelect cp, UpdateFirmwareTask task) {
- if (cp.isSoap()) {
- create(cp).updateFirmwareAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void unlockConnector(ChargePointSelect cp, UnlockConnectorTask task) {
- if (cp.isSoap()) {
- create(cp).unlockConnectorAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
-
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void changeAvailability(ChargePointSelect cp, ChangeAvailabilityTask task) {
- if (cp.isSoap()) {
- create(cp).changeAvailabilityAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void changeConfiguration(ChargePointSelect cp, ChangeConfigurationTask task) {
- if (cp.isSoap()) {
- create(cp).changeConfigurationAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void remoteStartTransaction(ChargePointSelect cp, RemoteStartTransactionTask task) {
- if (cp.isSoap()) {
- create(cp).remoteStartTransactionAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void remoteStopTransaction(ChargePointSelect cp, RemoteStopTransactionTask task) {
- if (cp.isSoap()) {
- create(cp).remoteStopTransactionAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void dataTransfer(ChargePointSelect cp, DataTransferTask task) {
- if (cp.isSoap()) {
- create(cp).dataTransferAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void getConfiguration(ChargePointSelect cp, GetConfigurationTask task) {
- if (cp.isSoap()) {
- create(cp).getConfigurationAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void getLocalListVersion(ChargePointSelect cp, GetLocalListVersionTask task) {
- if (cp.isSoap()) {
- create(cp).getLocalListVersionAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void sendLocalList(ChargePointSelect cp, SendLocalListTask task) {
- if (cp.isSoap()) {
- create(cp).sendLocalListAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void reserveNow(ChargePointSelect cp, ReserveNowTask task) {
- if (cp.isSoap()) {
- create(cp).reserveNowAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- @Override
- public void cancelReservation(ChargePointSelect cp, CancelReservationTask task) {
- if (cp.isSoap()) {
- create(cp).cancelReservationAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
- } else {
- runPipeline(cp, task);
- }
- }
-
- private void runPipeline(ChargePointSelect cp, CommunicationTask task) {
- wsHelper.runPipeline(cp, task);
- }
-
- private ChargePointService create(ChargePointSelect cp) {
- return soapHelper.createClient(ChargePointService.class, cp.getEndpointAddress());
- }
-}
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService12_Invoker.java b/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointServiceInvoker.java
similarity index 51%
rename from src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService12_Invoker.java
rename to src/main/java/de/rwth/idsg/steve/ocpp/ChargePointServiceInvoker.java
index 3deeca1ef..e0ddf7d49 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointService12_Invoker.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointServiceInvoker.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -18,22 +18,36 @@
*/
package de.rwth.idsg.steve.ocpp;
+import de.rwth.idsg.steve.ocpp.task.CancelReservationTask;
import de.rwth.idsg.steve.ocpp.task.ChangeAvailabilityTask;
import de.rwth.idsg.steve.ocpp.task.ChangeConfigurationTask;
import de.rwth.idsg.steve.ocpp.task.ClearCacheTask;
+import de.rwth.idsg.steve.ocpp.task.ClearChargingProfileTask;
+import de.rwth.idsg.steve.ocpp.task.DataTransferTask;
+import de.rwth.idsg.steve.ocpp.task.GetCompositeScheduleTask;
+import de.rwth.idsg.steve.ocpp.task.GetConfigurationTask;
import de.rwth.idsg.steve.ocpp.task.GetDiagnosticsTask;
+import de.rwth.idsg.steve.ocpp.task.GetLocalListVersionTask;
import de.rwth.idsg.steve.ocpp.task.RemoteStartTransactionTask;
import de.rwth.idsg.steve.ocpp.task.RemoteStopTransactionTask;
+import de.rwth.idsg.steve.ocpp.task.ReserveNowTask;
import de.rwth.idsg.steve.ocpp.task.ResetTask;
+import de.rwth.idsg.steve.ocpp.task.SendLocalListTask;
+import de.rwth.idsg.steve.ocpp.task.SetChargingProfileTask;
+import de.rwth.idsg.steve.ocpp.task.TriggerMessageTask;
import de.rwth.idsg.steve.ocpp.task.UnlockConnectorTask;
import de.rwth.idsg.steve.ocpp.task.UpdateFirmwareTask;
import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
/**
* @author Sevket Goekay
- * @since 20.03.2015
+ * @since 05.01.2025
*/
-public interface ChargePointService12_Invoker {
+public interface ChargePointServiceInvoker {
+
+ // -------------------------------------------------------------------------
+ // since Ocpp 1.2
+ // -------------------------------------------------------------------------
void reset(ChargePointSelect cp, ResetTask task);
@@ -52,4 +66,32 @@ public interface ChargePointService12_Invoker {
void remoteStartTransaction(ChargePointSelect cp, RemoteStartTransactionTask task);
void remoteStopTransaction(ChargePointSelect cp, RemoteStopTransactionTask task);
+
+ // -------------------------------------------------------------------------
+ // since Ocpp 1.5
+ // -------------------------------------------------------------------------
+
+ void dataTransfer(ChargePointSelect cp, DataTransferTask task);
+
+ void getConfiguration(ChargePointSelect cp, GetConfigurationTask task);
+
+ void getLocalListVersion(ChargePointSelect cp, GetLocalListVersionTask task);
+
+ void sendLocalList(ChargePointSelect cp, SendLocalListTask task);
+
+ void reserveNow(ChargePointSelect cp, ReserveNowTask task);
+
+ void cancelReservation(ChargePointSelect cp, CancelReservationTask task);
+
+ // -------------------------------------------------------------------------
+ // since Ocpp 1.6
+ // -------------------------------------------------------------------------
+
+ void clearChargingProfile(ChargePointSelect cp, ClearChargingProfileTask task);
+
+ void setChargingProfile(ChargePointSelect cp, SetChargingProfileTask task);
+
+ void getCompositeSchedule(ChargePointSelect cp, GetCompositeScheduleTask task);
+
+ void triggerMessage(ChargePointSelect cp, TriggerMessageTask task);
}
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointServiceInvokerImpl.java b/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointServiceInvokerImpl.java
new file mode 100644
index 000000000..2a1b6e134
--- /dev/null
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ChargePointServiceInvokerImpl.java
@@ -0,0 +1,238 @@
+/*
+ * SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
+ * Copyright (C) 2013-2025 SteVe Community Team
+ * All Rights Reserved.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package de.rwth.idsg.steve.ocpp;
+
+import de.rwth.idsg.steve.ocpp.soap.ChargePointServiceSoapInvoker;
+import de.rwth.idsg.steve.ocpp.task.CancelReservationTask;
+import de.rwth.idsg.steve.ocpp.task.ChangeAvailabilityTask;
+import de.rwth.idsg.steve.ocpp.task.ChangeConfigurationTask;
+import de.rwth.idsg.steve.ocpp.task.ClearCacheTask;
+import de.rwth.idsg.steve.ocpp.task.ClearChargingProfileTask;
+import de.rwth.idsg.steve.ocpp.task.DataTransferTask;
+import de.rwth.idsg.steve.ocpp.task.GetCompositeScheduleTask;
+import de.rwth.idsg.steve.ocpp.task.GetConfigurationTask;
+import de.rwth.idsg.steve.ocpp.task.GetDiagnosticsTask;
+import de.rwth.idsg.steve.ocpp.task.GetLocalListVersionTask;
+import de.rwth.idsg.steve.ocpp.task.RemoteStartTransactionTask;
+import de.rwth.idsg.steve.ocpp.task.RemoteStopTransactionTask;
+import de.rwth.idsg.steve.ocpp.task.ReserveNowTask;
+import de.rwth.idsg.steve.ocpp.task.ResetTask;
+import de.rwth.idsg.steve.ocpp.task.SendLocalListTask;
+import de.rwth.idsg.steve.ocpp.task.SetChargingProfileTask;
+import de.rwth.idsg.steve.ocpp.task.TriggerMessageTask;
+import de.rwth.idsg.steve.ocpp.task.UnlockConnectorTask;
+import de.rwth.idsg.steve.ocpp.task.UpdateFirmwareTask;
+import de.rwth.idsg.steve.ocpp.ws.ChargePointServiceJsonInvoker;
+import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author Sevket Goekay
+ * @since 05.01.2025
+ */
+@RequiredArgsConstructor
+@Service
+public class ChargePointServiceInvokerImpl implements ChargePointServiceInvoker {
+
+ private final ChargePointServiceSoapInvoker chargePointServiceSoapInvoker;
+ private final ChargePointServiceJsonInvoker chargePointServiceJsonInvoker;
+
+ // -------------------------------------------------------------------------
+ // since Ocpp 1.2
+ // -------------------------------------------------------------------------
+
+ @Override
+ public void reset(ChargePointSelect cp, ResetTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.reset(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void clearCache(ChargePointSelect cp, ClearCacheTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.clearCache(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void getDiagnostics(ChargePointSelect cp, GetDiagnosticsTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.getDiagnostics(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void updateFirmware(ChargePointSelect cp, UpdateFirmwareTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.updateFirmware(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void unlockConnector(ChargePointSelect cp, UnlockConnectorTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.unlockConnector(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ public void changeAvailability(ChargePointSelect cp, ChangeAvailabilityTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.changeAvailability(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void changeConfiguration(ChargePointSelect cp, ChangeConfigurationTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.changeConfiguration(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void remoteStartTransaction(ChargePointSelect cp, RemoteStartTransactionTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.remoteStartTransaction(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void remoteStopTransaction(ChargePointSelect cp, RemoteStopTransactionTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.remoteStopTransaction(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ // -------------------------------------------------------------------------
+ // since Ocpp 1.5
+ // -------------------------------------------------------------------------
+
+ @Override
+ public void dataTransfer(ChargePointSelect cp, DataTransferTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.dataTransfer(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void getConfiguration(ChargePointSelect cp, GetConfigurationTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.getConfiguration(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void getLocalListVersion(ChargePointSelect cp, GetLocalListVersionTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.getLocalListVersion(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void sendLocalList(ChargePointSelect cp, SendLocalListTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.sendLocalList(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void reserveNow(ChargePointSelect cp, ReserveNowTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.reserveNow(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void cancelReservation(ChargePointSelect cp, CancelReservationTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.cancelReservation(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ // -------------------------------------------------------------------------
+ // since Ocpp 1.6
+ // -------------------------------------------------------------------------
+
+ @Override
+ public void clearChargingProfile(ChargePointSelect cp, ClearChargingProfileTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.clearChargingProfile(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void setChargingProfile(ChargePointSelect cp, SetChargingProfileTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.setChargingProfile(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void getCompositeSchedule(ChargePointSelect cp, GetCompositeScheduleTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.getCompositeSchedule(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+
+ @Override
+ public void triggerMessage(ChargePointSelect cp, TriggerMessageTask task) {
+ if (cp.isSoap()) {
+ chargePointServiceSoapInvoker.triggerMessage(cp, task);
+ } else {
+ chargePointServiceJsonInvoker.runPipeline(cp, task);
+ }
+ }
+}
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/CommunicationTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/CommunicationTask.java
index 7fff5f10a..4081a4325 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/CommunicationTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/CommunicationTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -48,12 +48,12 @@ public abstract class CommunicationTask versionMap;
private final Map resultMap;
private final int resultSize;
@@ -69,29 +69,30 @@ public abstract class CommunicationTask> callbackList = new ArrayList<>(2);
- public CommunicationTask(OcppVersion ocppVersion, S params) {
- this(ocppVersion, params, TaskOrigin.INTERNAL, "SteVe");
+ public CommunicationTask(S params) {
+ this(params, TaskOrigin.INTERNAL, "SteVe");
}
- public CommunicationTask(OcppVersion ocppVersion, S params, String caller) {
- this(ocppVersion, params, TaskOrigin.EXTERNAL, caller);
+ public CommunicationTask(S params, String caller) {
+ this(params, TaskOrigin.EXTERNAL, caller);
}
/**
* Do not expose the constructor, make it package-private
*/
- CommunicationTask(OcppVersion ocppVersion, S params, TaskOrigin origin, String caller) {
+ CommunicationTask(S params, TaskOrigin origin, String caller) {
List cpsList = params.getChargePointSelectList();
- this.ocppVersion = ocppVersion;
this.resultSize = cpsList.size();
this.origin = origin;
this.caller = caller;
this.params = params;
resultMap = new HashMap<>(resultSize);
+ versionMap = new HashMap<>(resultSize);
for (ChargePointSelect cps : cpsList) {
resultMap.put(cps.getChargeBoxId(), new RequestResult());
+ versionMap.put(cps.getChargeBoxId(), cps.getOcppProtocol().getVersion());
}
callbackList.add(defaultCallback());
@@ -128,7 +129,7 @@ public void addNewError(String chargeBoxId, String errorMessage) {
}
}
- protected void success(String chargeBoxId, RESPONSE response) {
+ public void success(String chargeBoxId, RESPONSE response) {
for (OcppCallback c : callbackList) {
try {
c.success(chargeBoxId, response);
@@ -138,7 +139,7 @@ protected void success(String chargeBoxId, RESPONSE response) {
}
}
- protected void failed(String chargeBoxId, Exception exception) {
+ public void failed(String chargeBoxId, Exception exception) {
for (OcppCallback c : callbackList) {
try {
c.failed(chargeBoxId, exception);
@@ -148,22 +149,12 @@ protected void failed(String chargeBoxId, Exception exception) {
}
}
- public RequestType getRequest() {
- switch (ocppVersion) {
- case V_12: return getOcpp12Request();
- case V_15: return getOcpp15Request();
- case V_16: return getOcpp16Request();
- default: throw new RuntimeException("Request type not found");
- }
- }
-
public AsyncHandler getHandler(String chargeBoxId) {
- switch (ocppVersion) {
- case V_12: return getOcpp12Handler(chargeBoxId);
- case V_15: return getOcpp15Handler(chargeBoxId);
- case V_16: return getOcpp16Handler(chargeBoxId);
- default: throw new RuntimeException("ResponseType handler not found");
- }
+ return switch (versionMap.get(chargeBoxId)) {
+ case V_12 -> getOcpp12Handler(chargeBoxId);
+ case V_15 -> getOcpp15Handler(chargeBoxId);
+ case V_16 -> getOcpp16Handler(chargeBoxId);
+ };
}
public abstract OcppCallback defaultCallback();
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/Ocpp15AndAboveTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/Ocpp15AndAboveTask.java
index 89662a3af..2b2bd2b7e 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/Ocpp15AndAboveTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/Ocpp15AndAboveTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -30,8 +30,8 @@
*/
public abstract class Ocpp15AndAboveTask extends CommunicationTask {
- public Ocpp15AndAboveTask(OcppVersion ocppVersion, S params) {
- super(ocppVersion, params);
+ public Ocpp15AndAboveTask(S params) {
+ super(params);
}
@Deprecated
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/Ocpp16AndAboveTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/Ocpp16AndAboveTask.java
index 89645861f..d8767f841 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/Ocpp16AndAboveTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/Ocpp16AndAboveTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -30,8 +30,8 @@
*/
public abstract class Ocpp16AndAboveTask extends Ocpp15AndAboveTask {
- public Ocpp16AndAboveTask(OcppVersion ocppVersion, S params) {
- super(ocppVersion, params);
+ public Ocpp16AndAboveTask(S params) {
+ super(params);
}
@Deprecated
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/OcppCallback.java b/src/main/java/de/rwth/idsg/steve/ocpp/OcppCallback.java
index 746aceb4f..8cbd57f5c 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/OcppCallback.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/OcppCallback.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/OcppProtocol.java b/src/main/java/de/rwth/idsg/steve/ocpp/OcppProtocol.java
index 32862f944..ede74ef21 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/OcppProtocol.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/OcppProtocol.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -65,4 +65,13 @@ public static OcppProtocol fromCompositeValue(String v) {
}
throw new IllegalArgumentException(v);
}
+
+ public static OcppProtocol from(OcppVersion version, OcppTransport transport) {
+ for (OcppProtocol value : OcppProtocol.values()) {
+ if (value.getVersion() == version && value.getTransport() == transport) {
+ return value;
+ }
+ }
+ throw new IllegalArgumentException("Could not find OcppProtocol for " + version + " and " + transport);
+ }
}
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/OcppTransport.java b/src/main/java/de/rwth/idsg/steve/ocpp/OcppTransport.java
index d5e547864..9b26effee 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/OcppTransport.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/OcppTransport.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/OcppVersion.java b/src/main/java/de/rwth/idsg/steve/ocpp/OcppVersion.java
index 3e1e5b084..b5b8cc1a4 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/OcppVersion.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/OcppVersion.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/RequestResult.java b/src/main/java/de/rwth/idsg/steve/ocpp/RequestResult.java
index 8ac645f46..d7268ff4b 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/RequestResult.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/RequestResult.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/TaskOrigin.java b/src/main/java/de/rwth/idsg/steve/ocpp/TaskOrigin.java
index 445675682..32e5ac939 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/TaskOrigin.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/TaskOrigin.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/converter/Convert.java b/src/main/java/de/rwth/idsg/steve/ocpp/converter/Convert.java
index ff837263d..0cfd2fb19 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/converter/Convert.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/converter/Convert.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server12to15.java b/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server12to15.java
index 92a7f2090..7d886d707 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server12to15.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server12to15.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server12to15Impl.java b/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server12to15Impl.java
index 60d5cf21a..29b96d4c6 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server12to15Impl.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server12to15Impl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server15to16.java b/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server15to16.java
index b07436380..5dabe3895 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server15to16.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server15to16.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server15to16Impl.java b/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server15to16Impl.java
index d29a03642..1db602fb9 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server15to16Impl.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/converter/Server15to16Impl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/soap/CentralSystemService12_SoapServer.java b/src/main/java/de/rwth/idsg/steve/ocpp/soap/CentralSystemService12_SoapServer.java
index 47409cede..be9ab4cd8 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/soap/CentralSystemService12_SoapServer.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/soap/CentralSystemService12_SoapServer.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/soap/CentralSystemService15_SoapServer.java b/src/main/java/de/rwth/idsg/steve/ocpp/soap/CentralSystemService15_SoapServer.java
index 64c73f0e5..034f8f32f 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/soap/CentralSystemService15_SoapServer.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/soap/CentralSystemService15_SoapServer.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/soap/CentralSystemService16_SoapServer.java b/src/main/java/de/rwth/idsg/steve/ocpp/soap/CentralSystemService16_SoapServer.java
index 698ece889..c32cd0dd1 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/soap/CentralSystemService16_SoapServer.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/soap/CentralSystemService16_SoapServer.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/soap/ChargePointServiceSoapInvoker.java b/src/main/java/de/rwth/idsg/steve/ocpp/soap/ChargePointServiceSoapInvoker.java
new file mode 100644
index 000000000..77d12ad93
--- /dev/null
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/soap/ChargePointServiceSoapInvoker.java
@@ -0,0 +1,262 @@
+/*
+ * SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
+ * Copyright (C) 2013-2025 SteVe Community Team
+ * All Rights Reserved.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package de.rwth.idsg.steve.ocpp.soap;
+
+import de.rwth.idsg.steve.ocpp.ChargePointServiceInvoker;
+import de.rwth.idsg.steve.ocpp.task.CancelReservationTask;
+import de.rwth.idsg.steve.ocpp.task.ChangeAvailabilityTask;
+import de.rwth.idsg.steve.ocpp.task.ChangeConfigurationTask;
+import de.rwth.idsg.steve.ocpp.task.ClearCacheTask;
+import de.rwth.idsg.steve.ocpp.task.ClearChargingProfileTask;
+import de.rwth.idsg.steve.ocpp.task.DataTransferTask;
+import de.rwth.idsg.steve.ocpp.task.GetCompositeScheduleTask;
+import de.rwth.idsg.steve.ocpp.task.GetConfigurationTask;
+import de.rwth.idsg.steve.ocpp.task.GetDiagnosticsTask;
+import de.rwth.idsg.steve.ocpp.task.GetLocalListVersionTask;
+import de.rwth.idsg.steve.ocpp.task.RemoteStartTransactionTask;
+import de.rwth.idsg.steve.ocpp.task.RemoteStopTransactionTask;
+import de.rwth.idsg.steve.ocpp.task.ReserveNowTask;
+import de.rwth.idsg.steve.ocpp.task.ResetTask;
+import de.rwth.idsg.steve.ocpp.task.SendLocalListTask;
+import de.rwth.idsg.steve.ocpp.task.SetChargingProfileTask;
+import de.rwth.idsg.steve.ocpp.task.TriggerMessageTask;
+import de.rwth.idsg.steve.ocpp.task.UnlockConnectorTask;
+import de.rwth.idsg.steve.ocpp.task.UpdateFirmwareTask;
+import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author Sevket Goekay
+ * @since 05.01.2025
+ */
+@Slf4j
+@Service
+public class ChargePointServiceSoapInvoker implements ChargePointServiceInvoker {
+
+ public static final Exception EXCEPTION_V12 = new IllegalArgumentException("This operation is not supported by this OCPP 1.2 station");
+ public static final Exception EXCEPTION_V15 = new IllegalArgumentException("This operation is not supported by this OCPP 1.5 station");
+
+ private final ClientProviderWithCache soapV12Helper;
+ private final ClientProviderWithCache soapV15Helper;
+ private final ClientProviderWithCache soapV16Helper;
+
+ public ChargePointServiceSoapInvoker(ClientProvider clientProvider) {
+ this.soapV12Helper = new ClientProviderWithCache<>(clientProvider);
+ this.soapV15Helper = new ClientProviderWithCache<>(clientProvider);
+ this.soapV16Helper = new ClientProviderWithCache<>(clientProvider);
+ }
+
+ // -------------------------------------------------------------------------
+ // since Ocpp 1.2
+ // -------------------------------------------------------------------------
+
+ public void reset(ChargePointSelect cp, ResetTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> createV12(cp).resetAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
+ case V_15 -> createV15(cp).resetAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).resetAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void clearCache(ChargePointSelect cp, ClearCacheTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> createV12(cp).clearCacheAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
+ case V_15 -> createV15(cp).clearCacheAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).clearCacheAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void getDiagnostics(ChargePointSelect cp, GetDiagnosticsTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> createV12(cp).getDiagnosticsAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
+ case V_15 -> createV15(cp).getDiagnosticsAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).getDiagnosticsAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void updateFirmware(ChargePointSelect cp, UpdateFirmwareTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> createV12(cp).updateFirmwareAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
+ case V_15 -> createV15(cp).updateFirmwareAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).updateFirmwareAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void unlockConnector(ChargePointSelect cp, UnlockConnectorTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> createV12(cp).unlockConnectorAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
+ case V_15 -> createV15(cp).unlockConnectorAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).unlockConnectorAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ public void changeAvailability(ChargePointSelect cp, ChangeAvailabilityTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> createV12(cp).changeAvailabilityAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
+ case V_15 -> createV15(cp).changeAvailabilityAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).changeAvailabilityAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void changeConfiguration(ChargePointSelect cp, ChangeConfigurationTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> createV12(cp).changeConfigurationAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
+ case V_15 -> createV15(cp).changeConfigurationAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).changeConfigurationAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void remoteStartTransaction(ChargePointSelect cp, RemoteStartTransactionTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> createV12(cp).remoteStartTransactionAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
+ case V_15 -> createV15(cp).remoteStartTransactionAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).remoteStartTransactionAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void remoteStopTransaction(ChargePointSelect cp, RemoteStopTransactionTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> createV12(cp).remoteStopTransactionAsync(task.getOcpp12Request(), cp.getChargeBoxId(), task.getOcpp12Handler(cp.getChargeBoxId()));
+ case V_15 -> createV15(cp).remoteStopTransactionAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).remoteStopTransactionAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ // -------------------------------------------------------------------------
+ // since Ocpp 1.5
+ // -------------------------------------------------------------------------
+
+ @Override
+ public void dataTransfer(ChargePointSelect cp, DataTransferTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V12);
+ case V_15 -> createV15(cp).dataTransferAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).dataTransferAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void getConfiguration(ChargePointSelect cp, GetConfigurationTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V12);
+ case V_15 -> createV15(cp).getConfigurationAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).getConfigurationAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void getLocalListVersion(ChargePointSelect cp, GetLocalListVersionTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V12);
+ case V_15 -> createV15(cp).getLocalListVersionAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).getLocalListVersionAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void sendLocalList(ChargePointSelect cp, SendLocalListTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V12);
+ case V_15 -> createV15(cp).sendLocalListAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).sendLocalListAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void reserveNow(ChargePointSelect cp, ReserveNowTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V12);
+ case V_15 -> createV15(cp).reserveNowAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).reserveNowAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void cancelReservation(ChargePointSelect cp, CancelReservationTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V12);
+ case V_15 -> createV15(cp).cancelReservationAsync(task.getOcpp15Request(), cp.getChargeBoxId(), task.getOcpp15Handler(cp.getChargeBoxId()));
+ case V_16 -> createV16(cp).cancelReservationAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ // -------------------------------------------------------------------------
+ // since Ocpp 1.6
+ // -------------------------------------------------------------------------
+
+ @Override
+ public void clearChargingProfile(ChargePointSelect cp, ClearChargingProfileTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V12);
+ case V_15 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V15);
+ case V_16 -> createV16(cp).clearChargingProfileAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void setChargingProfile(ChargePointSelect cp, SetChargingProfileTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V12);
+ case V_15 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V15);
+ case V_16 -> createV16(cp).setChargingProfileAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void getCompositeSchedule(ChargePointSelect cp, GetCompositeScheduleTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V12);
+ case V_15 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V15);
+ case V_16 -> createV16(cp).getCompositeScheduleAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ @Override
+ public void triggerMessage(ChargePointSelect cp, TriggerMessageTask task) {
+ switch (cp.getOcppProtocol().getVersion()) {
+ case V_12 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V12);
+ case V_15 -> task.failed(cp.getChargeBoxId(), EXCEPTION_V15);
+ case V_16 -> createV16(cp).triggerMessageAsync(task.getOcpp16Request(), cp.getChargeBoxId(), task.getOcpp16Handler(cp.getChargeBoxId()));
+ }
+ }
+
+ // -------------------------------------------------------------------------
+ // Helpers
+ // -------------------------------------------------------------------------
+
+ private ocpp.cp._2010._08.ChargePointService createV12(ChargePointSelect cp) {
+ return soapV12Helper.createClient(ocpp.cp._2010._08.ChargePointService.class, cp.getEndpointAddress());
+ }
+
+ private ocpp.cp._2012._06.ChargePointService createV15(ChargePointSelect cp) {
+ return soapV15Helper.createClient(ocpp.cp._2012._06.ChargePointService.class, cp.getEndpointAddress());
+ }
+
+ private ocpp.cp._2015._10.ChargePointService createV16(ChargePointSelect cp) {
+ return soapV16Helper.createClient(ocpp.cp._2015._10.ChargePointService.class, cp.getEndpointAddress());
+ }
+}
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/soap/ClientProvider.java b/src/main/java/de/rwth/idsg/steve/ocpp/soap/ClientProvider.java
index 8b570d41c..ea0145686 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/soap/ClientProvider.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/soap/ClientProvider.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/soap/ClientProviderWithCache.java b/src/main/java/de/rwth/idsg/steve/ocpp/soap/ClientProviderWithCache.java
index a1d394bc7..ec913ed67 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/soap/ClientProviderWithCache.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/soap/ClientProviderWithCache.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/soap/LoggingFeatureProxy.java b/src/main/java/de/rwth/idsg/steve/ocpp/soap/LoggingFeatureProxy.java
index e3710ab6f..69d7fd488 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/soap/LoggingFeatureProxy.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/soap/LoggingFeatureProxy.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/soap/MediatorInInterceptor.java b/src/main/java/de/rwth/idsg/steve/ocpp/soap/MediatorInInterceptor.java
index 8051682b4..f12175117 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/soap/MediatorInInterceptor.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/soap/MediatorInInterceptor.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/soap/MessageHeaderInterceptor.java b/src/main/java/de/rwth/idsg/steve/ocpp/soap/MessageHeaderInterceptor.java
index be328575f..bb61dda49 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/soap/MessageHeaderInterceptor.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/soap/MessageHeaderInterceptor.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/soap/MessageIdInterceptor.java b/src/main/java/de/rwth/idsg/steve/ocpp/soap/MessageIdInterceptor.java
index 70bd5e167..6fa0d1a18 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/soap/MessageIdInterceptor.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/soap/MessageIdInterceptor.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/CancelReservationTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/CancelReservationTask.java
index c86f5e739..2d6748899 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/CancelReservationTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/CancelReservationTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,6 @@
import de.rwth.idsg.steve.ocpp.Ocpp15AndAboveTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.repository.ReservationRepository;
import de.rwth.idsg.steve.web.dto.ocpp.CancelReservationParams;
import ocpp.cp._2012._06.CancelReservationRequest;
@@ -36,9 +35,9 @@ public class CancelReservationTask extends Ocpp15AndAboveTask {
- public ChangeAvailabilityTask(OcppVersion ocppVersion, ChangeAvailabilityParams params) {
- super(ocppVersion, params);
+ public ChangeAvailabilityTask(ChangeAvailabilityParams params) {
+ super(params);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/ChangeConfigurationTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/ChangeConfigurationTask.java
index 0685ad49e..43cbe320f 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/ChangeConfigurationTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/ChangeConfigurationTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,6 @@
import de.rwth.idsg.steve.ocpp.CommunicationTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.web.dto.ocpp.ChangeConfigurationParams;
import jakarta.xml.ws.AsyncHandler;
@@ -31,8 +30,8 @@
*/
public class ChangeConfigurationTask extends CommunicationTask {
- public ChangeConfigurationTask(OcppVersion ocppVersion, ChangeConfigurationParams params) {
- super(ocppVersion, params);
+ public ChangeConfigurationTask(ChangeConfigurationParams params) {
+ super(params);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/ClearCacheTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/ClearCacheTask.java
index f803c9353..c92e629d3 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/ClearCacheTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/ClearCacheTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,6 @@
import de.rwth.idsg.steve.ocpp.CommunicationTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.web.dto.ocpp.MultipleChargePointSelect;
import jakarta.xml.ws.AsyncHandler;
@@ -31,8 +30,8 @@
*/
public class ClearCacheTask extends CommunicationTask {
- public ClearCacheTask(OcppVersion ocppVersion, MultipleChargePointSelect params) {
- super(ocppVersion, params);
+ public ClearCacheTask(MultipleChargePointSelect params) {
+ super(params);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/ClearChargingProfileTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/ClearChargingProfileTask.java
index 1e0c86f2b..e25968fd9 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/ClearChargingProfileTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/ClearChargingProfileTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,6 @@
import de.rwth.idsg.steve.ocpp.Ocpp16AndAboveTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.repository.ChargingProfileRepository;
import de.rwth.idsg.steve.web.dto.ocpp.ClearChargingProfileFilterType;
import de.rwth.idsg.steve.web.dto.ocpp.ClearChargingProfileParams;
@@ -38,10 +37,9 @@ public class ClearChargingProfileTask extends Ocpp16AndAboveTask {
- public DataTransferTask(OcppVersion ocppVersion, DataTransferParams params) {
- super(ocppVersion, params);
+ public DataTransferTask(DataTransferParams params) {
+ super(params);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/GetCompositeScheduleTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/GetCompositeScheduleTask.java
index 085bfca45..2527fcd40 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/GetCompositeScheduleTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/GetCompositeScheduleTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,6 @@
import de.rwth.idsg.steve.ocpp.Ocpp16AndAboveTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.ocpp.RequestResult;
import de.rwth.idsg.steve.web.dto.ocpp.GetCompositeScheduleParams;
import ocpp.cp._2015._10.GetCompositeScheduleRequest;
@@ -35,9 +34,8 @@
*/
public class GetCompositeScheduleTask extends Ocpp16AndAboveTask {
- public GetCompositeScheduleTask(OcppVersion ocppVersion,
- GetCompositeScheduleParams params) {
- super(ocppVersion, params);
+ public GetCompositeScheduleTask(GetCompositeScheduleParams params) {
+ super(params);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/GetConfigurationTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/GetConfigurationTask.java
index 06596fb65..7a1fed0a1 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/GetConfigurationTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/GetConfigurationTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -21,7 +21,6 @@
import com.google.common.base.Joiner;
import de.rwth.idsg.steve.ocpp.Ocpp15AndAboveTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.ocpp.RequestResult;
import de.rwth.idsg.steve.web.dto.ocpp.GetConfigurationParams;
import lombok.Getter;
@@ -30,6 +29,7 @@
import ocpp.cp._2012._06.GetConfigurationResponse;
import jakarta.xml.ws.AsyncHandler;
+
import java.util.List;
import java.util.stream.Collectors;
@@ -41,8 +41,8 @@ public class GetConfigurationTask extends Ocpp15AndAboveTask {
- public GetDiagnosticsTask(OcppVersion ocppVersion, GetDiagnosticsParams params) {
- super(ocppVersion, params);
+ public GetDiagnosticsTask(GetDiagnosticsParams params) {
+ super(params);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/GetLocalListVersionTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/GetLocalListVersionTask.java
index dc5fd6d94..06a234b66 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/GetLocalListVersionTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/GetLocalListVersionTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,6 @@
import de.rwth.idsg.steve.ocpp.Ocpp15AndAboveTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.web.dto.ocpp.MultipleChargePointSelect;
import jakarta.xml.ws.AsyncHandler;
@@ -31,8 +30,8 @@
*/
public class GetLocalListVersionTask extends Ocpp15AndAboveTask {
- public GetLocalListVersionTask(OcppVersion ocppVersion, MultipleChargePointSelect params) {
- super(ocppVersion, params);
+ public GetLocalListVersionTask(MultipleChargePointSelect params) {
+ super(params);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/RemoteStartTransactionTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/RemoteStartTransactionTask.java
index 30da28562..bc47d559c 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/RemoteStartTransactionTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/RemoteStartTransactionTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,6 @@
import de.rwth.idsg.steve.ocpp.CommunicationTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.web.dto.ocpp.RemoteStartTransactionParams;
import jakarta.xml.ws.AsyncHandler;
@@ -31,12 +30,12 @@
*/
public class RemoteStartTransactionTask extends CommunicationTask {
- public RemoteStartTransactionTask(OcppVersion ocppVersion, RemoteStartTransactionParams params) {
- super(ocppVersion, params);
+ public RemoteStartTransactionTask(RemoteStartTransactionParams params) {
+ super(params);
}
- public RemoteStartTransactionTask(OcppVersion ocppVersion, RemoteStartTransactionParams params, String caller) {
- super(ocppVersion, params, caller);
+ public RemoteStartTransactionTask(RemoteStartTransactionParams params, String caller) {
+ super(params, caller);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/RemoteStopTransactionTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/RemoteStopTransactionTask.java
index 80fd3e9bc..0e9ead947 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/RemoteStopTransactionTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/RemoteStopTransactionTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,6 @@
import de.rwth.idsg.steve.ocpp.CommunicationTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.web.dto.ocpp.RemoteStopTransactionParams;
import jakarta.xml.ws.AsyncHandler;
@@ -31,12 +30,12 @@
*/
public class RemoteStopTransactionTask extends CommunicationTask {
- public RemoteStopTransactionTask(OcppVersion ocppVersion, RemoteStopTransactionParams params) {
- super(ocppVersion, params);
+ public RemoteStopTransactionTask(RemoteStopTransactionParams params) {
+ super(params);
}
- public RemoteStopTransactionTask(OcppVersion ocppVersion, RemoteStopTransactionParams params, String caller) {
- super(ocppVersion, params, caller);
+ public RemoteStopTransactionTask(RemoteStopTransactionParams params, String caller) {
+ super(params, caller);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/ReserveNowTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/ReserveNowTask.java
index d88695119..deeb220e8 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/ReserveNowTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/ReserveNowTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,6 @@
import de.rwth.idsg.steve.ocpp.Ocpp15AndAboveTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.ocpp.ws.data.OcppJsonError;
import de.rwth.idsg.steve.repository.ReservationRepository;
import de.rwth.idsg.steve.service.dto.EnhancedReserveNowParams;
@@ -35,9 +34,9 @@ public class ReserveNowTask extends Ocpp15AndAboveTask {
- public ResetTask(OcppVersion ocppVersion, ResetParams params) {
- super(ocppVersion, params);
+ public ResetTask(ResetParams params) {
+ super(params);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/SendLocalListTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/SendLocalListTask.java
index 90f5f55db..bbc0bc66e 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/SendLocalListTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/SendLocalListTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,13 +20,13 @@
import de.rwth.idsg.steve.ocpp.Ocpp15AndAboveTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.service.OcppTagService;
import de.rwth.idsg.steve.web.dto.ocpp.SendLocalListParams;
import de.rwth.idsg.steve.web.dto.ocpp.SendLocalListUpdateType;
import ocpp.cp._2015._10.AuthorizationData;
import jakarta.xml.ws.AsyncHandler;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -40,8 +40,8 @@ public class SendLocalListTask extends Ocpp15AndAboveTask {
- public TriggerMessageTask(OcppVersion ocppVersion, TriggerMessageParams params) {
- super(ocppVersion, params);
+ public TriggerMessageTask(TriggerMessageParams params) {
+ super(params);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/UnlockConnectorTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/UnlockConnectorTask.java
index 10c75af6e..81b43571a 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/UnlockConnectorTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/UnlockConnectorTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,6 @@
import de.rwth.idsg.steve.ocpp.CommunicationTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.web.dto.ocpp.UnlockConnectorParams;
import jakarta.xml.ws.AsyncHandler;
@@ -31,12 +30,12 @@
*/
public class UnlockConnectorTask extends CommunicationTask {
- public UnlockConnectorTask(OcppVersion ocppVersion, UnlockConnectorParams params) {
- super(ocppVersion, params);
+ public UnlockConnectorTask(UnlockConnectorParams params) {
+ super(params);
}
- public UnlockConnectorTask(OcppVersion ocppVersion, UnlockConnectorParams params, String caller) {
- super(ocppVersion, params, caller);
+ public UnlockConnectorTask(UnlockConnectorParams params, String caller) {
+ super(params, caller);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/task/UpdateFirmwareTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/task/UpdateFirmwareTask.java
index 45dac49a6..27489a5dd 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/task/UpdateFirmwareTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/task/UpdateFirmwareTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,6 @@
import de.rwth.idsg.steve.ocpp.CommunicationTask;
import de.rwth.idsg.steve.ocpp.OcppCallback;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.web.dto.ocpp.UpdateFirmwareParams;
import jakarta.xml.ws.AsyncHandler;
@@ -33,8 +32,8 @@
*/
public class UpdateFirmwareTask extends CommunicationTask {
- public UpdateFirmwareTask(OcppVersion ocppVersion, UpdateFirmwareParams params) {
- super(ocppVersion, params);
+ public UpdateFirmwareTask(UpdateFirmwareParams params) {
+ super(params);
}
@Override
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/AbstractTypeStore.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/AbstractTypeStore.java
index 8f086f0e5..e4778ba6f 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/AbstractTypeStore.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/AbstractTypeStore.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/AbstractWebSocketEndpoint.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/AbstractWebSocketEndpoint.java
index 92c2fb396..c8e266340 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/AbstractWebSocketEndpoint.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/AbstractWebSocketEndpoint.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ChargePointServiceInvoker.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ChargePointServiceJsonInvoker.java
similarity index 62%
rename from src/main/java/de/rwth/idsg/steve/ocpp/ws/ChargePointServiceInvoker.java
rename to src/main/java/de/rwth/idsg/steve/ocpp/ws/ChargePointServiceJsonInvoker.java
index 2831b2081..9cd8f4f3d 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ChargePointServiceInvoker.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ChargePointServiceJsonInvoker.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -25,10 +25,17 @@
import de.rwth.idsg.steve.ocpp.ws.data.CommunicationContext;
import de.rwth.idsg.steve.ocpp.ws.data.FutureResponseContext;
import de.rwth.idsg.steve.ocpp.ws.data.OcppJsonCall;
+import de.rwth.idsg.steve.ocpp.ws.ocpp12.Ocpp12TypeStore;
+import de.rwth.idsg.steve.ocpp.ws.ocpp12.Ocpp12WebSocketEndpoint;
+import de.rwth.idsg.steve.ocpp.ws.ocpp15.Ocpp15TypeStore;
+import de.rwth.idsg.steve.ocpp.ws.ocpp15.Ocpp15WebSocketEndpoint;
+import de.rwth.idsg.steve.ocpp.ws.ocpp16.Ocpp16TypeStore;
+import de.rwth.idsg.steve.ocpp.ws.ocpp16.Ocpp16WebSocketEndpoint;
import de.rwth.idsg.steve.ocpp.ws.pipeline.OutgoingCallPipeline;
import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
import java.util.UUID;
@@ -37,32 +44,52 @@
* @since 20.03.2015
*/
@Slf4j
+@Service
@RequiredArgsConstructor
-public class ChargePointServiceInvoker {
+public class ChargePointServiceJsonInvoker {
private final OutgoingCallPipeline outgoingCallPipeline;
- private final AbstractWebSocketEndpoint endpoint;
- private final TypeStore typeStore;
+
+ private final Ocpp12WebSocketEndpoint ocpp12WebSocketEndpoint;
+ private final Ocpp15WebSocketEndpoint ocpp15WebSocketEndpoint;
+ private final Ocpp16WebSocketEndpoint ocpp16WebSocketEndpoint;
/**
* Just a wrapper to make try-catch block and exception handling stand out
*/
public void runPipeline(ChargePointSelect cps, CommunicationTask task) {
- String chargeBoxId = cps.getChargeBoxId();
try {
- run(chargeBoxId, task);
+ run(cps, task);
} catch (Exception e) {
log.error("Exception occurred", e);
// Outgoing call failed due to technical problems. Pass the exception to handler to inform the user
- task.defaultCallback().failed(chargeBoxId, e);
+ task.failed(cps.getChargeBoxId(), e);
}
}
/**
* Actual processing
*/
- private void run(String chargeBoxId, CommunicationTask task) {
- RequestType request = task.getRequest();
+ private void run(ChargePointSelect cps, CommunicationTask task) {
+ var chargeBoxId = cps.getChargeBoxId();
+
+ var endpoint = switch (cps.getOcppProtocol().getVersion()) {
+ case V_12 -> ocpp12WebSocketEndpoint;
+ case V_15 -> ocpp15WebSocketEndpoint;
+ case V_16 -> ocpp16WebSocketEndpoint;
+ };
+
+ var typeStore = switch (cps.getOcppProtocol().getVersion()) {
+ case V_12 -> Ocpp12TypeStore.INSTANCE;
+ case V_15 -> Ocpp15TypeStore.INSTANCE;
+ case V_16 -> Ocpp16TypeStore.INSTANCE;
+ };
+
+ RequestType request = switch (cps.getOcppProtocol().getVersion()) {
+ case V_12 -> task.getOcpp12Request();
+ case V_15 -> task.getOcpp15Request();
+ case V_16 -> task.getOcpp16Request();
+ };
ActionResponsePair pair = typeStore.findActionResponse(request);
if (pair == null) {
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ConcurrentWebSocketHandler.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ConcurrentWebSocketHandler.java
index 5a0ec7939..024ee9241 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ConcurrentWebSocketHandler.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ConcurrentWebSocketHandler.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ErrorFactory.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ErrorFactory.java
index 218c6cf3e..d7ccb8618 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ErrorFactory.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ErrorFactory.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/FutureResponseContextStore.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/FutureResponseContextStore.java
index 9439ffaf1..899f87892 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/FutureResponseContextStore.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/FutureResponseContextStore.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/JsonObjectMapper.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/JsonObjectMapper.java
index 3097ec83f..dce364be2 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/JsonObjectMapper.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/JsonObjectMapper.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/OcppWebSocketHandshakeHandler.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/OcppWebSocketHandshakeHandler.java
index bdba9bac1..f0796ae5b 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/OcppWebSocketHandshakeHandler.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/OcppWebSocketHandshakeHandler.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/PingTask.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/PingTask.java
index 19a019d47..a3930b989 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/PingTask.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/PingTask.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/SessionContextStore.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/SessionContextStore.java
index 147cb89ea..872007e1c 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/SessionContextStore.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/SessionContextStore.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/TypeStore.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/TypeStore.java
index bede4722f..64bbca1ae 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/TypeStore.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/TypeStore.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/WebSocketLogger.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/WebSocketLogger.java
index e9c3507b6..4762c2d79 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/WebSocketLogger.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/WebSocketLogger.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/CustomStringModule.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/CustomStringModule.java
index 2e70dcfd2..87098420e 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/CustomStringModule.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/CustomStringModule.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/EnumMixin.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/EnumMixin.java
index c3e1952a3..2f319ae46 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/EnumMixin.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/EnumMixin.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/EnumProcessor.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/EnumProcessor.java
index 339003cc4..0a6bd281f 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/EnumProcessor.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/EnumProcessor.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/MeterValue15Deserializer.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/MeterValue15Deserializer.java
index b7cb0acb7..ec8c61761 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/MeterValue15Deserializer.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/MeterValue15Deserializer.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/MeterValue15Mixin.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/MeterValue15Mixin.java
index 81b0066e7..f51aa6466 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/MeterValue15Mixin.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/MeterValue15Mixin.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/WsSessionSelectStrategy.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/WsSessionSelectStrategy.java
index c1cd61344..37102af46 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/WsSessionSelectStrategy.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/WsSessionSelectStrategy.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/WsSessionSelectStrategyEnum.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/WsSessionSelectStrategyEnum.java
index 6e1f17921..2a039438b 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/WsSessionSelectStrategyEnum.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/custom/WsSessionSelectStrategyEnum.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/ActionResponsePair.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/ActionResponsePair.java
index d66635ce1..b48535cd3 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/ActionResponsePair.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/ActionResponsePair.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/CommunicationContext.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/CommunicationContext.java
index f4258653b..649a28157 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/CommunicationContext.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/CommunicationContext.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/ErrorCode.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/ErrorCode.java
index 3d9d37056..cecb88f4a 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/ErrorCode.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/ErrorCode.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/FutureResponseContext.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/FutureResponseContext.java
index 328b64aa1..ba7834628 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/FutureResponseContext.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/FutureResponseContext.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/MessageType.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/MessageType.java
index dd35c67ca..7dd5cb2f5 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/MessageType.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/MessageType.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonCall.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonCall.java
index aa9e083d8..ce6c5a93a 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonCall.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonCall.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonError.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonError.java
index cbd4ba92b..b5307d4e4 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonError.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonError.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonMessage.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonMessage.java
index ef71da494..4f23c20c7 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonMessage.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonMessage.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonResponse.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonResponse.java
index 90f985ebb..687c44060 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonResponse.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonResponse.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonResult.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonResult.java
index 2b2028b02..afc89704d 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonResult.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/OcppJsonResult.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/SessionContext.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/SessionContext.java
index c483e756e..2538fc73d 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/SessionContext.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/data/SessionContext.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp12/Ocpp12JacksonModule.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp12/Ocpp12JacksonModule.java
index 4607c68a3..d5e2d1491 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp12/Ocpp12JacksonModule.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp12/Ocpp12JacksonModule.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp12/Ocpp12TypeStore.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp12/Ocpp12TypeStore.java
index a9b65d621..3a62c34b5 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp12/Ocpp12TypeStore.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp12/Ocpp12TypeStore.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp12/Ocpp12WebSocketEndpoint.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp12/Ocpp12WebSocketEndpoint.java
index 581c35d87..697443877 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp12/Ocpp12WebSocketEndpoint.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp12/Ocpp12WebSocketEndpoint.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp15/Ocpp15JacksonModule.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp15/Ocpp15JacksonModule.java
index 5c92ef3c4..5be94aad5 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp15/Ocpp15JacksonModule.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp15/Ocpp15JacksonModule.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp15/Ocpp15TypeStore.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp15/Ocpp15TypeStore.java
index eea1ab25c..4a76ddabe 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp15/Ocpp15TypeStore.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp15/Ocpp15TypeStore.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp15/Ocpp15WebSocketEndpoint.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp15/Ocpp15WebSocketEndpoint.java
index 36e41ac80..93b7229dc 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp15/Ocpp15WebSocketEndpoint.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp15/Ocpp15WebSocketEndpoint.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp16/Ocpp16JacksonModule.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp16/Ocpp16JacksonModule.java
index 05370120a..f85523444 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp16/Ocpp16JacksonModule.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp16/Ocpp16JacksonModule.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp16/Ocpp16TypeStore.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp16/Ocpp16TypeStore.java
index 0973a7847..300eda914 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp16/Ocpp16TypeStore.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp16/Ocpp16TypeStore.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp16/Ocpp16WebSocketEndpoint.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp16/Ocpp16WebSocketEndpoint.java
index 2a187d4d8..a4d5e1534 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp16/Ocpp16WebSocketEndpoint.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/ocpp16/Ocpp16WebSocketEndpoint.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/AbstractCallHandler.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/AbstractCallHandler.java
index 546894b75..68455c625 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/AbstractCallHandler.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/AbstractCallHandler.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/Deserializer.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/Deserializer.java
index 0cd7b4e8c..9ea8f90ce 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/Deserializer.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/Deserializer.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/IncomingPipeline.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/IncomingPipeline.java
index a42a8c04d..7d30254da 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/IncomingPipeline.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/IncomingPipeline.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/OutgoingCallPipeline.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/OutgoingCallPipeline.java
index 69a20705b..f9a73f7d4 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/OutgoingCallPipeline.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/OutgoingCallPipeline.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/Sender.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/Sender.java
index 4f56c5e59..6eae692a9 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/Sender.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/Sender.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/Serializer.java b/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/Serializer.java
index c77448fda..aa9e203f2 100644
--- a/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/Serializer.java
+++ b/src/main/java/de/rwth/idsg/steve/ocpp/ws/pipeline/Serializer.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/AddressRepository.java b/src/main/java/de/rwth/idsg/steve/repository/AddressRepository.java
index 842056adf..8e995b9eb 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/AddressRepository.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/AddressRepository.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/ChargePointRepository.java b/src/main/java/de/rwth/idsg/steve/repository/ChargePointRepository.java
index 30ef07367..e403edbf8 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/ChargePointRepository.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/ChargePointRepository.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/ChargingProfileRepository.java b/src/main/java/de/rwth/idsg/steve/repository/ChargingProfileRepository.java
index dbd628427..d489541c7 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/ChargingProfileRepository.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/ChargingProfileRepository.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/GenericRepository.java b/src/main/java/de/rwth/idsg/steve/repository/GenericRepository.java
index 3c2ab19ac..03162a016 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/GenericRepository.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/GenericRepository.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/OcppServerRepository.java b/src/main/java/de/rwth/idsg/steve/repository/OcppServerRepository.java
index 7bb7ece35..627be41e7 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/OcppServerRepository.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/OcppServerRepository.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/OcppTagRepository.java b/src/main/java/de/rwth/idsg/steve/repository/OcppTagRepository.java
index 53486b760..f27b5f30a 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/OcppTagRepository.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/OcppTagRepository.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/ReservationRepository.java b/src/main/java/de/rwth/idsg/steve/repository/ReservationRepository.java
index 9079449c4..80edaf421 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/ReservationRepository.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/ReservationRepository.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/ReservationStatus.java b/src/main/java/de/rwth/idsg/steve/repository/ReservationStatus.java
index dcda2335c..9cfc6172a 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/ReservationStatus.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/ReservationStatus.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/SettingsRepository.java b/src/main/java/de/rwth/idsg/steve/repository/SettingsRepository.java
index e9aafc462..c0de608aa 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/SettingsRepository.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/SettingsRepository.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/TaskStore.java b/src/main/java/de/rwth/idsg/steve/repository/TaskStore.java
index e1c77e91e..22598d003 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/TaskStore.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/TaskStore.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/TransactionRepository.java b/src/main/java/de/rwth/idsg/steve/repository/TransactionRepository.java
index d1ff91792..ae786abe5 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/TransactionRepository.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/TransactionRepository.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/UserRepository.java b/src/main/java/de/rwth/idsg/steve/repository/UserRepository.java
index 9fc2798dc..4b06f4d61 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/UserRepository.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/UserRepository.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/WebUserRepository.java b/src/main/java/de/rwth/idsg/steve/repository/WebUserRepository.java
index 00eb361f8..9d7d6762f 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/WebUserRepository.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/WebUserRepository.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/ChargePoint.java b/src/main/java/de/rwth/idsg/steve/repository/dto/ChargePoint.java
index 34d1c531e..9227c3ceb 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/ChargePoint.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/ChargePoint.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/ChargePointSelect.java b/src/main/java/de/rwth/idsg/steve/repository/dto/ChargePointSelect.java
index 0dd72ea17..8aec91fac 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/ChargePointSelect.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/ChargePointSelect.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -18,6 +18,7 @@
*/
package de.rwth.idsg.steve.repository.dto;
+import de.rwth.idsg.steve.ocpp.OcppProtocol;
import de.rwth.idsg.steve.ocpp.OcppTransport;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@@ -29,14 +30,14 @@
@RequiredArgsConstructor
@Getter
public final class ChargePointSelect {
- private final OcppTransport ocppTransport;
+ private final OcppProtocol ocppProtocol;
private final String chargeBoxId;
private final String endpointAddress;
- public ChargePointSelect(OcppTransport ocppTransport, String chargeBoxId) {
+ public ChargePointSelect(OcppProtocol ocppProtocol, String chargeBoxId) {
// Provide a non-null value (or placeholder if you will) to frontend for JSON charge points.
// This is clearly a hack. Not my proudest moment.
- this(ocppTransport, chargeBoxId, "-");
+ this(ocppProtocol, chargeBoxId, "-");
}
public boolean isEndpointAddressSet() {
@@ -44,6 +45,6 @@ public boolean isEndpointAddressSet() {
}
public boolean isSoap() {
- return OcppTransport.SOAP == ocppTransport;
+ return OcppTransport.SOAP == ocppProtocol.getTransport();
}
}
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/ChargingProfile.java b/src/main/java/de/rwth/idsg/steve/repository/dto/ChargingProfile.java
index b6e94aaf2..3d37892a4 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/ChargingProfile.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/ChargingProfile.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/ChargingProfileAssignment.java b/src/main/java/de/rwth/idsg/steve/repository/dto/ChargingProfileAssignment.java
index 9c37564d6..3c29b449d 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/ChargingProfileAssignment.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/ChargingProfileAssignment.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/ConnectorStatus.java b/src/main/java/de/rwth/idsg/steve/repository/dto/ConnectorStatus.java
index 361944c1c..0c82aea96 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/ConnectorStatus.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/ConnectorStatus.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/DbVersion.java b/src/main/java/de/rwth/idsg/steve/repository/dto/DbVersion.java
index 6d422bae3..2f515d862 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/DbVersion.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/DbVersion.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/InsertConnectorStatusParams.java b/src/main/java/de/rwth/idsg/steve/repository/dto/InsertConnectorStatusParams.java
index 2df2c5624..655cb5125 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/InsertConnectorStatusParams.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/InsertConnectorStatusParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/InsertReservationParams.java b/src/main/java/de/rwth/idsg/steve/repository/dto/InsertReservationParams.java
index db457c58e..76c84614a 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/InsertReservationParams.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/InsertReservationParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/InsertTransactionParams.java b/src/main/java/de/rwth/idsg/steve/repository/dto/InsertTransactionParams.java
index 875e6af5d..ce7376495 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/InsertTransactionParams.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/InsertTransactionParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/MailSettings.java b/src/main/java/de/rwth/idsg/steve/repository/dto/MailSettings.java
index 362efb1c3..d85d7072e 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/MailSettings.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/MailSettings.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/OcppTag.java b/src/main/java/de/rwth/idsg/steve/repository/dto/OcppTag.java
index 9f4766f05..f52909d17 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/OcppTag.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/OcppTag.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -36,13 +36,22 @@ public final class OcppTag {
@Builder
@ToString
public static final class Overview {
+ @Schema(description = "PK of the OCPP tag")
private final Integer ocppTagPk;
+
+ @Schema(description = "The OCPP tag")
private final String idTag;
+ @Schema(description = "PK of the parent OCPP tag of this OCPP tag")
private final Integer parentOcppTagPk;
+
+ @Schema(description = "The parent OCPP tag of this OCPP tag")
private final String parentIdTag;
+ @Schema(description = "Has the OCPP tag active transactions (i.e. ongoing charging sessions)?")
private final boolean inTransaction;
+
+ @Schema(description = "Is the OCPP tag blocked?")
private final boolean blocked;
/**
@@ -52,10 +61,16 @@ public static final class Overview {
@Schema(hidden = true)
private final String expiryDateFormatted;
+ @Schema(description = "The date/time at which the OCPP tag will expire (if set)")
private final DateTime expiryDate;
+ @Schema(description = "The maximum number of active transactions allowed for this OCPP tag")
private final Integer maxActiveTransactionCount;
+
+ @Schema(description = "The number of currently active transactions for this OCPP tag")
private final Long activeTransactionCount;
+
+ @Schema(description = "An additional note")
private final String note;
}
}
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/Reservation.java b/src/main/java/de/rwth/idsg/steve/repository/dto/Reservation.java
index d49e1c106..2e673db63 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/Reservation.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/Reservation.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/TaskOverview.java b/src/main/java/de/rwth/idsg/steve/repository/dto/TaskOverview.java
index e55add82b..4c8dec5d3 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/TaskOverview.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/TaskOverview.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/Transaction.java b/src/main/java/de/rwth/idsg/steve/repository/dto/Transaction.java
index 8b8ef4de2..5ef9dfd1f 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/Transaction.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/Transaction.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -32,18 +32,32 @@
* @author Sevket Goekay
*
*/
+@Schema(description = """
+ For active transactions, all 'stop'-prefixed fields would be null.
+ The energy consumed during the transaction can be calculated by subtracting the 'startValue' from the 'stopValue'.
+ The unit of the 'startValue' and 'stopValue' is watt-hours (Wh).
+ """)
@Getter
@Builder
@ToString
public final class Transaction {
+ @Schema(description = "PK of the transaction")
private final int id;
+
+ @Schema(description = "Connector ID of the charge box at which the transaction took place")
private final int connectorId;
+
+ @Schema(description = "PK of the charge box at which the transaction took place")
private final int chargeBoxPk;
+
+ @Schema(description = "PK of the OCPP tag used in the transaction")
private final int ocppTagPk;
+ @Schema(description = "The identifier of the charge box at which the transaction took place")
private final String chargeBoxId;
+ @Schema(description = "The Ocpp Tag used in the transaction")
private final String ocppIdTag;
/**
@@ -53,8 +67,10 @@ public final class Transaction {
@Schema(hidden = true)
private final String startTimestampFormatted;
+ @Schema(description = "The meter value reading at the start of the transaction")
private final String startValue;
+ @Schema(description = "The timestamp at which the transaction started")
private final DateTime startTimestamp;
/**
@@ -66,14 +82,18 @@ public final class Transaction {
private final String stopTimestampFormatted;
@Nullable
+ @Schema(description = "The meter value reading at the end of the transaction")
private final String stopValue;
@Nullable
+ @Schema(description = "The reason for the transaction being stopped")
private final String stopReason; // new in OCPP 1.6
@Nullable
+ @Schema(description = "The timestamp at which the transaction ended")
private final DateTime stopTimestamp;
@Nullable
+ @Schema(description = "The actor who stopped the transaction")
private final TransactionStopEventActor stopEventActor;
}
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/TransactionDetails.java b/src/main/java/de/rwth/idsg/steve/repository/dto/TransactionDetails.java
index 18b652778..81bdceec3 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/TransactionDetails.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/TransactionDetails.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/TransactionStatusUpdate.java b/src/main/java/de/rwth/idsg/steve/repository/dto/TransactionStatusUpdate.java
index 14ea053ba..bc55e7594 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/TransactionStatusUpdate.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/TransactionStatusUpdate.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/UpdateChargeboxParams.java b/src/main/java/de/rwth/idsg/steve/repository/dto/UpdateChargeboxParams.java
index 891353153..9d0ce3d6b 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/UpdateChargeboxParams.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/UpdateChargeboxParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/UpdateTransactionParams.java b/src/main/java/de/rwth/idsg/steve/repository/dto/UpdateTransactionParams.java
index 2aa117295..231c72db1 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/UpdateTransactionParams.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/UpdateTransactionParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/dto/User.java b/src/main/java/de/rwth/idsg/steve/repository/dto/User.java
index b919a420e..9eb43ee4a 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/dto/User.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/dto/User.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/impl/AddressRepositoryImpl.java b/src/main/java/de/rwth/idsg/steve/repository/impl/AddressRepositoryImpl.java
index 2364022fc..3e4bf5bfd 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/impl/AddressRepositoryImpl.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/impl/AddressRepositoryImpl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/impl/ChargePointRepositoryImpl.java b/src/main/java/de/rwth/idsg/steve/repository/impl/ChargePointRepositoryImpl.java
index f213671b3..9584ff164 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/impl/ChargePointRepositoryImpl.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/impl/ChargePointRepositoryImpl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -100,7 +100,7 @@ public List getChargePointSelect(OcppProtocol protocol, List<
.and(CHARGE_BOX.REGISTRATION_STATUS.in(inStatusFilter))
.and(chargeBoxIdCondition)
.fetch()
- .map(r -> new ChargePointSelect(protocol.getTransport(), r.value1(), r.value2()));
+ .map(r -> new ChargePointSelect(protocol, r.value1(), r.value2()));
}
@Override // returns List of zero or one ChargeBox
@@ -109,7 +109,7 @@ public List getChargePointSelect(String chageBoxID) {
.from(CHARGE_BOX)
.where(CHARGE_BOX.CHARGE_BOX_ID.eq(chageBoxID))
.fetch()
- .map(r -> new ChargePointSelect(OcppProtocol.fromCompositeValue(r.value3()).getTransport(),
+ .map(r -> new ChargePointSelect(OcppProtocol.fromCompositeValue(r.value3()),
r.value1(), r.value2()));
}
diff --git a/src/main/java/de/rwth/idsg/steve/repository/impl/ChargingProfileRepositoryImpl.java b/src/main/java/de/rwth/idsg/steve/repository/impl/ChargingProfileRepositoryImpl.java
index fb17ed7f4..f4b25f775 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/impl/ChargingProfileRepositoryImpl.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/impl/ChargingProfileRepositoryImpl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/impl/GenericRepositoryImpl.java b/src/main/java/de/rwth/idsg/steve/repository/impl/GenericRepositoryImpl.java
index 977c626bd..1f276043e 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/impl/GenericRepositoryImpl.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/impl/GenericRepositoryImpl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/impl/OcppServerRepositoryImpl.java b/src/main/java/de/rwth/idsg/steve/repository/impl/OcppServerRepositoryImpl.java
index 89319f5f4..a522ad701 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/impl/OcppServerRepositoryImpl.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/impl/OcppServerRepositoryImpl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/impl/OcppTagRepositoryImpl.java b/src/main/java/de/rwth/idsg/steve/repository/impl/OcppTagRepositoryImpl.java
index 5cd882688..2f8a42d41 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/impl/OcppTagRepositoryImpl.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/impl/OcppTagRepositoryImpl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/impl/ReservationRepositoryImpl.java b/src/main/java/de/rwth/idsg/steve/repository/impl/ReservationRepositoryImpl.java
index 7441d6755..64e4126ec 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/impl/ReservationRepositoryImpl.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/impl/ReservationRepositoryImpl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/impl/SettingsRepositoryImpl.java b/src/main/java/de/rwth/idsg/steve/repository/impl/SettingsRepositoryImpl.java
index 756ea325c..77e9e7bea 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/impl/SettingsRepositoryImpl.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/impl/SettingsRepositoryImpl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/impl/TaskStoreImpl.java b/src/main/java/de/rwth/idsg/steve/repository/impl/TaskStoreImpl.java
index a49f50173..e9ce48f69 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/impl/TaskStoreImpl.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/impl/TaskStoreImpl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/impl/TransactionRepositoryImpl.java b/src/main/java/de/rwth/idsg/steve/repository/impl/TransactionRepositoryImpl.java
index 87349c0a1..64b15b41e 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/impl/TransactionRepositoryImpl.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/impl/TransactionRepositoryImpl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/impl/UserRepositoryImpl.java b/src/main/java/de/rwth/idsg/steve/repository/impl/UserRepositoryImpl.java
index b24646dc1..f37ab73b5 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/impl/UserRepositoryImpl.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/impl/UserRepositoryImpl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/repository/impl/WebUserRepositoryImpl.java b/src/main/java/de/rwth/idsg/steve/repository/impl/WebUserRepositoryImpl.java
index 64ef3f4df..b9f0bed60 100644
--- a/src/main/java/de/rwth/idsg/steve/repository/impl/WebUserRepositoryImpl.java
+++ b/src/main/java/de/rwth/idsg/steve/repository/impl/WebUserRepositoryImpl.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/AuthTagService.java b/src/main/java/de/rwth/idsg/steve/service/AuthTagService.java
index a14f09eaa..2ce8804a0 100644
--- a/src/main/java/de/rwth/idsg/steve/service/AuthTagService.java
+++ b/src/main/java/de/rwth/idsg/steve/service/AuthTagService.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/AuthTagServiceLocal.java b/src/main/java/de/rwth/idsg/steve/service/AuthTagServiceLocal.java
index 2bac98503..89dac41b0 100644
--- a/src/main/java/de/rwth/idsg/steve/service/AuthTagServiceLocal.java
+++ b/src/main/java/de/rwth/idsg/steve/service/AuthTagServiceLocal.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/BackgroundService.java b/src/main/java/de/rwth/idsg/steve/service/BackgroundService.java
index 88c4745f9..13857de2d 100644
--- a/src/main/java/de/rwth/idsg/steve/service/BackgroundService.java
+++ b/src/main/java/de/rwth/idsg/steve/service/BackgroundService.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/CentralSystemService16_Service.java b/src/main/java/de/rwth/idsg/steve/service/CentralSystemService16_Service.java
index bfd8e55c9..e44f90434 100644
--- a/src/main/java/de/rwth/idsg/steve/service/CentralSystemService16_Service.java
+++ b/src/main/java/de/rwth/idsg/steve/service/CentralSystemService16_Service.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/ChargePointHelperService.java b/src/main/java/de/rwth/idsg/steve/service/ChargePointHelperService.java
index d32ea1667..28c8bc7b4 100644
--- a/src/main/java/de/rwth/idsg/steve/service/ChargePointHelperService.java
+++ b/src/main/java/de/rwth/idsg/steve/service/ChargePointHelperService.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -229,8 +229,10 @@ private List getChargePoints(OcppProtocol protocol, List.
- */
-package de.rwth.idsg.steve.service;
-
-import de.rwth.idsg.steve.ocpp.ChargePointService12_Invoker;
-import de.rwth.idsg.steve.ocpp.ChargePointService12_InvokerImpl;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
-import de.rwth.idsg.steve.ocpp.task.ChangeAvailabilityTask;
-import de.rwth.idsg.steve.ocpp.task.ChangeConfigurationTask;
-import de.rwth.idsg.steve.ocpp.task.ClearCacheTask;
-import de.rwth.idsg.steve.ocpp.task.GetDiagnosticsTask;
-import de.rwth.idsg.steve.ocpp.task.RemoteStartTransactionTask;
-import de.rwth.idsg.steve.ocpp.task.RemoteStopTransactionTask;
-import de.rwth.idsg.steve.ocpp.task.ResetTask;
-import de.rwth.idsg.steve.ocpp.task.UnlockConnectorTask;
-import de.rwth.idsg.steve.ocpp.task.UpdateFirmwareTask;
-import de.rwth.idsg.steve.repository.TaskStore;
-import de.rwth.idsg.steve.web.dto.ocpp.ChangeAvailabilityParams;
-import de.rwth.idsg.steve.web.dto.ocpp.ChangeConfigurationParams;
-import de.rwth.idsg.steve.web.dto.ocpp.GetDiagnosticsParams;
-import de.rwth.idsg.steve.web.dto.ocpp.MultipleChargePointSelect;
-import de.rwth.idsg.steve.web.dto.ocpp.RemoteStartTransactionParams;
-import de.rwth.idsg.steve.web.dto.ocpp.RemoteStopTransactionParams;
-import de.rwth.idsg.steve.web.dto.ocpp.ResetParams;
-import de.rwth.idsg.steve.web.dto.ocpp.UnlockConnectorParams;
-import de.rwth.idsg.steve.web.dto.ocpp.UpdateFirmwareParams;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Service;
-
-import java.util.concurrent.ScheduledExecutorService;
-
-/**
- * @author Sevket Goekay
- */
-@Slf4j
-@Service
-@Qualifier("ChargePointService12_Client")
-public class ChargePointService12_Client {
-
- @Autowired protected ScheduledExecutorService executorService;
- @Autowired protected TaskStore taskStore;
-
- @Autowired private ChargePointService12_InvokerImpl invoker12;
-
- protected OcppVersion getVersion() {
- return OcppVersion.V_12;
- }
-
- protected ChargePointService12_Invoker getOcpp12Invoker() {
- return invoker12;
- }
-
- // -------------------------------------------------------------------------
- // Multiple Execution - since OCPP 1.2
- // -------------------------------------------------------------------------
-
- public int changeAvailability(ChangeAvailabilityParams params) {
- ChangeAvailabilityTask task = new ChangeAvailabilityTask(getVersion(), params);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp12Invoker().changeAvailability(c, task));
-
- return taskStore.add(task);
- }
-
- public int changeConfiguration(ChangeConfigurationParams params) {
- ChangeConfigurationTask task = new ChangeConfigurationTask(getVersion(), params);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp12Invoker().changeConfiguration(c, task));
-
- return taskStore.add(task);
- }
-
- public int clearCache(MultipleChargePointSelect params) {
- ClearCacheTask task = new ClearCacheTask(getVersion(), params);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp12Invoker().clearCache(c, task));
-
- return taskStore.add(task);
- }
-
- public int getDiagnostics(GetDiagnosticsParams params) {
- GetDiagnosticsTask task = new GetDiagnosticsTask(getVersion(), params);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp12Invoker().getDiagnostics(c, task));
-
- return taskStore.add(task);
- }
-
- public int reset(ResetParams params) {
- ResetTask task = new ResetTask(getVersion(), params);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp12Invoker().reset(c, task));
-
- return taskStore.add(task);
- }
-
- public int updateFirmware(UpdateFirmwareParams params) {
- UpdateFirmwareTask task = new UpdateFirmwareTask(getVersion(), params);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp12Invoker().updateFirmware(c, task));
-
- return taskStore.add(task);
- }
-
- // -------------------------------------------------------------------------
- // Single Execution - since OCPP 1.2
- // -------------------------------------------------------------------------
-
- public int remoteStartTransaction(RemoteStartTransactionParams params) {
- RemoteStartTransactionTask task = new RemoteStartTransactionTask(getVersion(), params);
- return addRemoteStartTask(task);
- }
-
- public int remoteStartTransaction(RemoteStartTransactionParams params, String caller) {
- RemoteStartTransactionTask task = new RemoteStartTransactionTask(getVersion(), params, caller);
- return addRemoteStartTask(task);
- }
-
- private int addRemoteStartTask(RemoteStartTransactionTask task) {
- BackgroundService.with(executorService)
- .forFirst(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp12Invoker().remoteStartTransaction(c, task));
-
- return taskStore.add(task);
- }
-
- public int remoteStopTransaction(RemoteStopTransactionParams params, String caller) {
- RemoteStopTransactionTask task = new RemoteStopTransactionTask(getVersion(), params, caller);
- return addRemoteStopTask(task);
- }
-
- public int remoteStopTransaction(RemoteStopTransactionParams params) {
- RemoteStopTransactionTask task = new RemoteStopTransactionTask(getVersion(), params);
- return addRemoteStopTask(task);
- }
-
- private int addRemoteStopTask(RemoteStopTransactionTask task) {
- BackgroundService.with(executorService)
- .forFirst(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp12Invoker().remoteStopTransaction(c, task));
-
- return taskStore.add(task);
- }
-
- public int unlockConnector(UnlockConnectorParams params) {
- UnlockConnectorTask task = new UnlockConnectorTask(getVersion(), params);
- return addRemoteUnlockTask(task);
- }
-
- public int unlockConnector(UnlockConnectorParams params, String caller) {
- UnlockConnectorTask task = new UnlockConnectorTask(getVersion(), params, caller);
- return addRemoteUnlockTask(task);
- }
-
- private int addRemoteUnlockTask(UnlockConnectorTask task) {
-
- BackgroundService.with(executorService)
- .forFirst(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp12Invoker().unlockConnector(c, task));
-
- return taskStore.add(task);
- }
-
-}
diff --git a/src/main/java/de/rwth/idsg/steve/service/ChargePointService15_Client.java b/src/main/java/de/rwth/idsg/steve/service/ChargePointService15_Client.java
deleted file mode 100644
index 8de7f4255..000000000
--- a/src/main/java/de/rwth/idsg/steve/service/ChargePointService15_Client.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
- * All Rights Reserved.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package de.rwth.idsg.steve.service;
-
-import de.rwth.idsg.steve.ocpp.ChargePointService12_Invoker;
-import de.rwth.idsg.steve.ocpp.ChargePointService15_Invoker;
-import de.rwth.idsg.steve.ocpp.ChargePointService15_InvokerImpl;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
-import de.rwth.idsg.steve.ocpp.task.CancelReservationTask;
-import de.rwth.idsg.steve.ocpp.task.DataTransferTask;
-import de.rwth.idsg.steve.ocpp.task.GetConfigurationTask;
-import de.rwth.idsg.steve.ocpp.task.GetLocalListVersionTask;
-import de.rwth.idsg.steve.ocpp.task.ReserveNowTask;
-import de.rwth.idsg.steve.ocpp.task.SendLocalListTask;
-import de.rwth.idsg.steve.repository.ReservationRepository;
-import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
-import de.rwth.idsg.steve.repository.dto.InsertReservationParams;
-import de.rwth.idsg.steve.service.dto.EnhancedReserveNowParams;
-import de.rwth.idsg.steve.web.dto.ocpp.CancelReservationParams;
-import de.rwth.idsg.steve.web.dto.ocpp.DataTransferParams;
-import de.rwth.idsg.steve.web.dto.ocpp.GetConfigurationParams;
-import de.rwth.idsg.steve.web.dto.ocpp.MultipleChargePointSelect;
-import de.rwth.idsg.steve.web.dto.ocpp.ReserveNowParams;
-import de.rwth.idsg.steve.web.dto.ocpp.SendLocalListParams;
-import lombok.extern.slf4j.Slf4j;
-import org.joda.time.DateTime;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * @author Sevket Goekay
- */
-@Slf4j
-@Service
-@Qualifier("ChargePointService15_Client")
-public class ChargePointService15_Client extends ChargePointService12_Client {
-
- @Autowired protected OcppTagService ocppTagService;
- @Autowired protected ReservationRepository reservationRepository;
-
- @Autowired private ChargePointService15_InvokerImpl invoker15;
-
- @Override
- protected OcppVersion getVersion() {
- return OcppVersion.V_15;
- }
-
- @Override
- protected ChargePointService12_Invoker getOcpp12Invoker() {
- return invoker15;
- }
-
- protected ChargePointService15_Invoker getOcpp15Invoker() {
- return invoker15;
- }
-
- // -------------------------------------------------------------------------
- // Multiple Execution - since OCPP 1.5
- // -------------------------------------------------------------------------
-
- public int dataTransfer(DataTransferParams params) {
- DataTransferTask task = new DataTransferTask(getVersion(), params);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp15Invoker().dataTransfer(c, task));
-
- return taskStore.add(task);
- }
-
- public int getConfiguration(GetConfigurationParams params) {
- GetConfigurationTask task = new GetConfigurationTask(getVersion(), params);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp15Invoker().getConfiguration(c, task));
-
- return taskStore.add(task);
- }
-
- public int getLocalListVersion(MultipleChargePointSelect params) {
- GetLocalListVersionTask task = new GetLocalListVersionTask(getVersion(), params);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp15Invoker().getLocalListVersion(c, task));
-
- return taskStore.add(task);
- }
-
- public int sendLocalList(SendLocalListParams params) {
- SendLocalListTask task = new SendLocalListTask(getVersion(), params, ocppTagService);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp15Invoker().sendLocalList(c, task));
-
- return taskStore.add(task);
- }
-
-
- // -------------------------------------------------------------------------
- // Single Execution - since OCPP 1.5
- // -------------------------------------------------------------------------
-
- public int reserveNow(ReserveNowParams params) {
- List list = params.getChargePointSelectList();
- InsertReservationParams res = InsertReservationParams.builder()
- .idTag(params.getIdTag())
- .chargeBoxId(list.get(0).getChargeBoxId())
- .connectorId(params.getConnectorId())
- .startTimestamp(DateTime.now())
- .expiryTimestamp(params.getExpiry().toDateTime())
- .build();
-
- int reservationId = reservationRepository.insert(res);
- String parentIdTag = ocppTagService.getParentIdtag(params.getIdTag());
-
- EnhancedReserveNowParams enhancedParams = new EnhancedReserveNowParams(params, reservationId, parentIdTag);
- ReserveNowTask task = new ReserveNowTask(getVersion(), enhancedParams, reservationRepository);
-
- BackgroundService.with(executorService)
- .forFirst(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp15Invoker().reserveNow(c, task));
-
- return taskStore.add(task);
- }
-
- public int cancelReservation(CancelReservationParams params) {
- CancelReservationTask task = new CancelReservationTask(getVersion(), params, reservationRepository);
-
- BackgroundService.with(executorService)
- .forFirst(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp15Invoker().cancelReservation(c, task));
-
- return taskStore.add(task);
- }
-
-
-}
diff --git a/src/main/java/de/rwth/idsg/steve/service/ChargePointService16_Client.java b/src/main/java/de/rwth/idsg/steve/service/ChargePointService16_Client.java
deleted file mode 100644
index be73c9ee8..000000000
--- a/src/main/java/de/rwth/idsg/steve/service/ChargePointService16_Client.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
- * All Rights Reserved.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package de.rwth.idsg.steve.service;
-
-import de.rwth.idsg.steve.SteveException;
-import de.rwth.idsg.steve.ocpp.ChargePointService12_Invoker;
-import de.rwth.idsg.steve.ocpp.ChargePointService15_Invoker;
-import de.rwth.idsg.steve.ocpp.ChargePointService16_Invoker;
-import de.rwth.idsg.steve.ocpp.ChargePointService16_InvokerImpl;
-import de.rwth.idsg.steve.ocpp.OcppVersion;
-import de.rwth.idsg.steve.ocpp.task.ClearChargingProfileTask;
-import de.rwth.idsg.steve.ocpp.task.GetCompositeScheduleTask;
-import de.rwth.idsg.steve.ocpp.task.SetChargingProfileTask;
-import de.rwth.idsg.steve.ocpp.task.TriggerMessageTask;
-import de.rwth.idsg.steve.repository.ChargingProfileRepository;
-import de.rwth.idsg.steve.repository.dto.ChargingProfile;
-import de.rwth.idsg.steve.service.dto.EnhancedSetChargingProfileParams;
-import de.rwth.idsg.steve.web.dto.ocpp.ClearChargingProfileParams;
-import de.rwth.idsg.steve.web.dto.ocpp.GetCompositeScheduleParams;
-import de.rwth.idsg.steve.web.dto.ocpp.SetChargingProfileParams;
-import de.rwth.idsg.steve.web.dto.ocpp.TriggerMessageParams;
-import lombok.extern.slf4j.Slf4j;
-import ocpp.cp._2015._10.ChargingProfilePurposeType;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Service;
-
-/**
- * @author Sevket Goekay
- * @since 13.03.2018
- */
-@Slf4j
-@Service
-@Qualifier("ChargePointService16_Client")
-public class ChargePointService16_Client extends ChargePointService15_Client {
-
- @Autowired private ChargePointService16_InvokerImpl invoker16;
- @Autowired private ChargingProfileRepository chargingProfileRepository;
-
- @Override
- protected OcppVersion getVersion() {
- return OcppVersion.V_16;
- }
-
- @Override
- protected ChargePointService12_Invoker getOcpp12Invoker() {
- return invoker16;
- }
-
- @Override
- protected ChargePointService15_Invoker getOcpp15Invoker() {
- return invoker16;
- }
-
- protected ChargePointService16_Invoker getOcpp16Invoker() {
- return invoker16;
- }
-
- // -------------------------------------------------------------------------
- // Multiple Execution - since OCPP 1.6
- // -------------------------------------------------------------------------
-
- public int triggerMessage(TriggerMessageParams params) {
- TriggerMessageTask task = new TriggerMessageTask(getVersion(), params);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp16Invoker().triggerMessage(c, task));
-
- return taskStore.add(task);
- }
-
- public int setChargingProfile(SetChargingProfileParams params) {
- ChargingProfile.Details details = chargingProfileRepository.getDetails(params.getChargingProfilePk());
-
- checkAdditionalConstraints(params, details);
-
- EnhancedSetChargingProfileParams enhancedParams = new EnhancedSetChargingProfileParams(params, details);
- SetChargingProfileTask task = new SetChargingProfileTask(getVersion(), enhancedParams, chargingProfileRepository);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp16Invoker().setChargingProfile(c, task));
-
- return taskStore.add(task);
- }
-
- public int clearChargingProfile(ClearChargingProfileParams params) {
- ClearChargingProfileTask task = new ClearChargingProfileTask(getVersion(), params, chargingProfileRepository);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp16Invoker().clearChargingProfile(c, task));
-
- return taskStore.add(task);
- }
-
- public int getCompositeSchedule(GetCompositeScheduleParams params) {
- GetCompositeScheduleTask task = new GetCompositeScheduleTask(getVersion(), params);
-
- BackgroundService.with(executorService)
- .forEach(task.getParams().getChargePointSelectList())
- .execute(c -> getOcpp16Invoker().getCompositeSchedule(c, task));
-
- return taskStore.add(task);
- }
-
- /**
- * Do some additional checks defined by OCPP spec, which cannot be captured with javax.validation
- */
- private static void checkAdditionalConstraints(SetChargingProfileParams params, ChargingProfile.Details details) {
- ChargingProfilePurposeType purpose = ChargingProfilePurposeType.fromValue(details.getProfile().getChargingProfilePurpose());
-
- if (ChargingProfilePurposeType.CHARGE_POINT_MAX_PROFILE == purpose
- && params.getConnectorId() != null
- && params.getConnectorId() != 0) {
- throw new SteveException("ChargePointMaxProfile can only be set at Charge Point ConnectorId 0");
- }
-
- if (ChargingProfilePurposeType.TX_PROFILE == purpose
- && params.getConnectorId() != null
- && params.getConnectorId() < 1) {
- throw new SteveException("TxProfile should only be set at Charge Point ConnectorId > 0");
- }
-
- }
-}
diff --git a/src/main/java/de/rwth/idsg/steve/service/ChargePointServiceClient.java b/src/main/java/de/rwth/idsg/steve/service/ChargePointServiceClient.java
new file mode 100644
index 000000000..25e04414f
--- /dev/null
+++ b/src/main/java/de/rwth/idsg/steve/service/ChargePointServiceClient.java
@@ -0,0 +1,474 @@
+/*
+ * SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
+ * Copyright (C) 2013-2025 SteVe Community Team
+ * All Rights Reserved.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package de.rwth.idsg.steve.service;
+
+import de.rwth.idsg.steve.SteveException;
+import de.rwth.idsg.steve.ocpp.ChargePointServiceInvokerImpl;
+import de.rwth.idsg.steve.ocpp.OcppCallback;
+import de.rwth.idsg.steve.ocpp.OcppVersion;
+import de.rwth.idsg.steve.ocpp.task.CancelReservationTask;
+import de.rwth.idsg.steve.ocpp.task.ChangeAvailabilityTask;
+import de.rwth.idsg.steve.ocpp.task.ChangeConfigurationTask;
+import de.rwth.idsg.steve.ocpp.task.ClearCacheTask;
+import de.rwth.idsg.steve.ocpp.task.ClearChargingProfileTask;
+import de.rwth.idsg.steve.ocpp.task.DataTransferTask;
+import de.rwth.idsg.steve.ocpp.task.GetCompositeScheduleTask;
+import de.rwth.idsg.steve.ocpp.task.GetConfigurationTask;
+import de.rwth.idsg.steve.ocpp.task.GetDiagnosticsTask;
+import de.rwth.idsg.steve.ocpp.task.GetLocalListVersionTask;
+import de.rwth.idsg.steve.ocpp.task.RemoteStartTransactionTask;
+import de.rwth.idsg.steve.ocpp.task.RemoteStopTransactionTask;
+import de.rwth.idsg.steve.ocpp.task.ReserveNowTask;
+import de.rwth.idsg.steve.ocpp.task.ResetTask;
+import de.rwth.idsg.steve.ocpp.task.SendLocalListTask;
+import de.rwth.idsg.steve.ocpp.task.SetChargingProfileTask;
+import de.rwth.idsg.steve.ocpp.task.TriggerMessageTask;
+import de.rwth.idsg.steve.ocpp.task.UnlockConnectorTask;
+import de.rwth.idsg.steve.ocpp.task.UpdateFirmwareTask;
+import de.rwth.idsg.steve.repository.ChargingProfileRepository;
+import de.rwth.idsg.steve.repository.ReservationRepository;
+import de.rwth.idsg.steve.repository.TaskStore;
+import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
+import de.rwth.idsg.steve.repository.dto.ChargingProfile;
+import de.rwth.idsg.steve.repository.dto.InsertReservationParams;
+import de.rwth.idsg.steve.service.dto.EnhancedReserveNowParams;
+import de.rwth.idsg.steve.service.dto.EnhancedSetChargingProfileParams;
+import de.rwth.idsg.steve.web.dto.ocpp.CancelReservationParams;
+import de.rwth.idsg.steve.web.dto.ocpp.ChangeAvailabilityParams;
+import de.rwth.idsg.steve.web.dto.ocpp.ChangeConfigurationParams;
+import de.rwth.idsg.steve.web.dto.ocpp.ClearChargingProfileParams;
+import de.rwth.idsg.steve.web.dto.ocpp.DataTransferParams;
+import de.rwth.idsg.steve.web.dto.ocpp.GetCompositeScheduleParams;
+import de.rwth.idsg.steve.web.dto.ocpp.GetConfigurationParams;
+import de.rwth.idsg.steve.web.dto.ocpp.GetDiagnosticsParams;
+import de.rwth.idsg.steve.web.dto.ocpp.MultipleChargePointSelect;
+import de.rwth.idsg.steve.web.dto.ocpp.RemoteStartTransactionParams;
+import de.rwth.idsg.steve.web.dto.ocpp.RemoteStopTransactionParams;
+import de.rwth.idsg.steve.web.dto.ocpp.ReserveNowParams;
+import de.rwth.idsg.steve.web.dto.ocpp.ResetParams;
+import de.rwth.idsg.steve.web.dto.ocpp.SendLocalListParams;
+import de.rwth.idsg.steve.web.dto.ocpp.SetChargingProfileParams;
+import de.rwth.idsg.steve.web.dto.ocpp.TriggerMessageParams;
+import de.rwth.idsg.steve.web.dto.ocpp.UnlockConnectorParams;
+import de.rwth.idsg.steve.web.dto.ocpp.UpdateFirmwareParams;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import ocpp.cp._2015._10.ChargingProfilePurposeType;
+import ocpp.cp._2015._10.GetCompositeScheduleResponse;
+import org.joda.time.DateTime;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.concurrent.ScheduledExecutorService;
+
+/**
+ * @author Sevket Goekay
+ * @since 05.01.2025
+ */
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class ChargePointServiceClient {
+
+ private final ChargingProfileRepository chargingProfileRepository;
+ private final ReservationRepository reservationRepository;
+ private final OcppTagService ocppTagService;
+
+ private final ScheduledExecutorService executorService;
+ private final TaskStore taskStore;
+ private final ChargePointServiceInvokerImpl invoker;
+
+ // -------------------------------------------------------------------------
+ // Multiple Execution - since OCPP 1.2
+ // -------------------------------------------------------------------------
+
+ @SafeVarargs
+ public final int changeAvailability(ChangeAvailabilityParams params,
+ OcppCallback... callbacks) {
+ ChangeAvailabilityTask task = new ChangeAvailabilityTask(params);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.changeAvailability(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int changeConfiguration(ChangeConfigurationParams params,
+ OcppCallback... callbacks) {
+ ChangeConfigurationTask task = new ChangeConfigurationTask(params);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.changeConfiguration(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int clearCache(MultipleChargePointSelect params,
+ OcppCallback... callbacks) {
+ ClearCacheTask task = new ClearCacheTask(params);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.clearCache(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int getDiagnostics(GetDiagnosticsParams params,
+ OcppCallback... callbacks) {
+ GetDiagnosticsTask task = new GetDiagnosticsTask(params);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.getDiagnostics(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int reset(ResetParams params,
+ OcppCallback... callbacks) {
+ ResetTask task = new ResetTask(params);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.reset(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int updateFirmware(UpdateFirmwareParams params,
+ OcppCallback... callbacks) {
+ UpdateFirmwareTask task = new UpdateFirmwareTask(params);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.updateFirmware(c, task));
+
+ return taskStore.add(task);
+ }
+
+ // -------------------------------------------------------------------------
+ // Single Execution - since OCPP 1.2
+ // -------------------------------------------------------------------------
+ @SafeVarargs
+ public final int remoteStartTransaction(RemoteStartTransactionParams params,
+ OcppCallback... callbacks) {
+ return remoteStartTransaction(params, "Steve", callbacks);
+ }
+
+ @SafeVarargs
+ public final int remoteStartTransaction(RemoteStartTransactionParams params, String caller,
+ OcppCallback... callbacks) {
+ RemoteStartTransactionTask task = new RemoteStartTransactionTask(params, caller);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forFirst(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.remoteStartTransaction(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int remoteStopTransaction(RemoteStopTransactionParams params,
+ OcppCallback... callbacks) {
+ return remoteStopTransaction(params, "Steve", callbacks);
+ }
+
+ @SafeVarargs
+ public final int remoteStopTransaction(RemoteStopTransactionParams params, String caller,
+ OcppCallback... callbacks) {
+ RemoteStopTransactionTask task = new RemoteStopTransactionTask(params, caller);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forFirst(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.remoteStopTransaction(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int unlockConnector(UnlockConnectorParams params,
+ OcppCallback... callbacks) {
+ return unlockConnector(params, "Steve", callbacks);
+ }
+ @SafeVarargs
+ public final int unlockConnector(UnlockConnectorParams params, String caller,
+ OcppCallback... callbacks) {
+ UnlockConnectorTask task = new UnlockConnectorTask(params, caller);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forFirst(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.unlockConnector(c, task));
+
+ return taskStore.add(task);
+ }
+
+ // -------------------------------------------------------------------------
+ // Multiple Execution - since OCPP 1.5
+ // -------------------------------------------------------------------------
+
+ @SafeVarargs
+ public final int dataTransfer(DataTransferParams params,
+ OcppCallback... callbacks) {
+ DataTransferTask task = new DataTransferTask(params);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.dataTransfer(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int getConfiguration(GetConfigurationParams params,
+ OcppCallback... callbacks) {
+ GetConfigurationTask task = new GetConfigurationTask(params);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.getConfiguration(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int getLocalListVersion(MultipleChargePointSelect params,
+ OcppCallback... callbacks) {
+ GetLocalListVersionTask task = new GetLocalListVersionTask(params);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.getLocalListVersion(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int sendLocalList(SendLocalListParams params,
+ OcppCallback... callbacks) {
+ SendLocalListTask task = new SendLocalListTask(params, ocppTagService);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.sendLocalList(c, task));
+
+ return taskStore.add(task);
+ }
+
+ // -------------------------------------------------------------------------
+ // Single Execution - since OCPP 1.5
+ // -------------------------------------------------------------------------
+
+ @SafeVarargs
+ public final int reserveNow(ReserveNowParams params,
+ OcppCallback... callbacks) {
+ List list = params.getChargePointSelectList();
+
+ InsertReservationParams res = InsertReservationParams.builder()
+ .idTag(params.getIdTag())
+ .chargeBoxId(list.get(0).getChargeBoxId())
+ .connectorId(params.getConnectorId())
+ .startTimestamp(DateTime.now())
+ .expiryTimestamp(params.getExpiry().toDateTime())
+ .build();
+
+ int reservationId = reservationRepository.insert(res);
+ String parentIdTag = ocppTagService.getParentIdtag(params.getIdTag());
+
+ EnhancedReserveNowParams enhancedParams = new EnhancedReserveNowParams(params, reservationId, parentIdTag);
+ ReserveNowTask task = new ReserveNowTask(enhancedParams, reservationRepository);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forFirst(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.reserveNow(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int cancelReservation(CancelReservationParams params,
+ OcppCallback... callbacks) {
+ CancelReservationTask task = new CancelReservationTask(params, reservationRepository);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forFirst(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.cancelReservation(c, task));
+
+ return taskStore.add(task);
+ }
+
+ // -------------------------------------------------------------------------
+ // Multiple Execution - since OCPP 1.6
+ // -------------------------------------------------------------------------
+
+ @SafeVarargs
+ public final int triggerMessage(TriggerMessageParams params,
+ OcppCallback... callbacks) {
+ TriggerMessageTask task = new TriggerMessageTask(params);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.triggerMessage(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int setChargingProfile(SetChargingProfileParams params,
+ OcppCallback... callbacks) {
+ ChargingProfile.Details details = chargingProfileRepository.getDetails(params.getChargingProfilePk());
+
+ checkAdditionalConstraints(params, details);
+
+ EnhancedSetChargingProfileParams enhancedParams = new EnhancedSetChargingProfileParams(params, details);
+ SetChargingProfileTask task = new SetChargingProfileTask(enhancedParams, chargingProfileRepository);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.setChargingProfile(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int clearChargingProfile(ClearChargingProfileParams params,
+ OcppCallback... callbacks) {
+ ClearChargingProfileTask task = new ClearChargingProfileTask(params, chargingProfileRepository);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.clearChargingProfile(c, task));
+
+ return taskStore.add(task);
+ }
+
+ @SafeVarargs
+ public final int getCompositeSchedule(GetCompositeScheduleParams params,
+ OcppCallback... callbacks) {
+ GetCompositeScheduleTask task = new GetCompositeScheduleTask(params);
+
+ for (var callback : callbacks) {
+ task.addCallback(callback);
+ }
+
+ BackgroundService.with(executorService)
+ .forEach(task.getParams().getChargePointSelectList())
+ .execute(c -> invoker.getCompositeSchedule(c, task));
+
+ return taskStore.add(task);
+ }
+
+ /**
+ * Do some additional checks defined by OCPP spec, which cannot be captured with javax.validation
+ */
+ private static void checkAdditionalConstraints(SetChargingProfileParams params, ChargingProfile.Details details) {
+ ChargingProfilePurposeType purpose = ChargingProfilePurposeType.fromValue(details.getProfile().getChargingProfilePurpose());
+
+ if (ChargingProfilePurposeType.CHARGE_POINT_MAX_PROFILE == purpose
+ && params.getConnectorId() != null
+ && params.getConnectorId() != 0) {
+ throw new SteveException("ChargePointMaxProfile can only be set at Charge Point ConnectorId 0");
+ }
+
+ if (ChargingProfilePurposeType.TX_PROFILE == purpose
+ && params.getConnectorId() != null
+ && params.getConnectorId() < 1) {
+ throw new SteveException("TxProfile should only be set at Charge Point ConnectorId > 0");
+ }
+ }
+}
diff --git a/src/main/java/de/rwth/idsg/steve/service/DummyReleaseCheckService.java b/src/main/java/de/rwth/idsg/steve/service/DummyReleaseCheckService.java
index 5537851f8..fe15b8009 100644
--- a/src/main/java/de/rwth/idsg/steve/service/DummyReleaseCheckService.java
+++ b/src/main/java/de/rwth/idsg/steve/service/DummyReleaseCheckService.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/GithubReleaseCheckService.java b/src/main/java/de/rwth/idsg/steve/service/GithubReleaseCheckService.java
index 0f68014b8..e4a8b16ac 100644
--- a/src/main/java/de/rwth/idsg/steve/service/GithubReleaseCheckService.java
+++ b/src/main/java/de/rwth/idsg/steve/service/GithubReleaseCheckService.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/MailService.java b/src/main/java/de/rwth/idsg/steve/service/MailService.java
index 6e0e00e13..e5c87c623 100644
--- a/src/main/java/de/rwth/idsg/steve/service/MailService.java
+++ b/src/main/java/de/rwth/idsg/steve/service/MailService.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/NotificationService.java b/src/main/java/de/rwth/idsg/steve/service/NotificationService.java
index 402d8ea7b..6b0eae4ed 100644
--- a/src/main/java/de/rwth/idsg/steve/service/NotificationService.java
+++ b/src/main/java/de/rwth/idsg/steve/service/NotificationService.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/OcppTagService.java b/src/main/java/de/rwth/idsg/steve/service/OcppTagService.java
index f660c95e4..fe029ca4d 100644
--- a/src/main/java/de/rwth/idsg/steve/service/OcppTagService.java
+++ b/src/main/java/de/rwth/idsg/steve/service/OcppTagService.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/ReleaseCheckService.java b/src/main/java/de/rwth/idsg/steve/service/ReleaseCheckService.java
index 3931c01f0..d2b6b8b46 100644
--- a/src/main/java/de/rwth/idsg/steve/service/ReleaseCheckService.java
+++ b/src/main/java/de/rwth/idsg/steve/service/ReleaseCheckService.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/TransactionStopService.java b/src/main/java/de/rwth/idsg/steve/service/TransactionStopService.java
index b6fc11e93..077900934 100644
--- a/src/main/java/de/rwth/idsg/steve/service/TransactionStopService.java
+++ b/src/main/java/de/rwth/idsg/steve/service/TransactionStopService.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/UnidentifiedIncomingObjectService.java b/src/main/java/de/rwth/idsg/steve/service/UnidentifiedIncomingObjectService.java
index 747144825..155b4831d 100644
--- a/src/main/java/de/rwth/idsg/steve/service/UnidentifiedIncomingObjectService.java
+++ b/src/main/java/de/rwth/idsg/steve/service/UnidentifiedIncomingObjectService.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/WebUserService.java b/src/main/java/de/rwth/idsg/steve/service/WebUserService.java
index 35bec29f4..f2305e94e 100644
--- a/src/main/java/de/rwth/idsg/steve/service/WebUserService.java
+++ b/src/main/java/de/rwth/idsg/steve/service/WebUserService.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/dto/EnhancedReserveNowParams.java b/src/main/java/de/rwth/idsg/steve/service/dto/EnhancedReserveNowParams.java
index d2ff62ca1..34522c56b 100644
--- a/src/main/java/de/rwth/idsg/steve/service/dto/EnhancedReserveNowParams.java
+++ b/src/main/java/de/rwth/idsg/steve/service/dto/EnhancedReserveNowParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/dto/EnhancedSetChargingProfileParams.java b/src/main/java/de/rwth/idsg/steve/service/dto/EnhancedSetChargingProfileParams.java
index e5b0f1574..5b34d7ba6 100644
--- a/src/main/java/de/rwth/idsg/steve/service/dto/EnhancedSetChargingProfileParams.java
+++ b/src/main/java/de/rwth/idsg/steve/service/dto/EnhancedSetChargingProfileParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/dto/UnidentifiedIncomingObject.java b/src/main/java/de/rwth/idsg/steve/service/dto/UnidentifiedIncomingObject.java
index b34ed1807..19041d6ba 100644
--- a/src/main/java/de/rwth/idsg/steve/service/dto/UnidentifiedIncomingObject.java
+++ b/src/main/java/de/rwth/idsg/steve/service/dto/UnidentifiedIncomingObject.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/notification/OccpStationBooted.java b/src/main/java/de/rwth/idsg/steve/service/notification/OccpStationBooted.java
index cd711c334..e314fdea4 100644
--- a/src/main/java/de/rwth/idsg/steve/service/notification/OccpStationBooted.java
+++ b/src/main/java/de/rwth/idsg/steve/service/notification/OccpStationBooted.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/notification/OcppStationStatusFailure.java b/src/main/java/de/rwth/idsg/steve/service/notification/OcppStationStatusFailure.java
index daa7b8396..c4077412e 100644
--- a/src/main/java/de/rwth/idsg/steve/service/notification/OcppStationStatusFailure.java
+++ b/src/main/java/de/rwth/idsg/steve/service/notification/OcppStationStatusFailure.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/notification/OcppStationWebSocketConnected.java b/src/main/java/de/rwth/idsg/steve/service/notification/OcppStationWebSocketConnected.java
index 3fcf6661a..084865302 100644
--- a/src/main/java/de/rwth/idsg/steve/service/notification/OcppStationWebSocketConnected.java
+++ b/src/main/java/de/rwth/idsg/steve/service/notification/OcppStationWebSocketConnected.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/notification/OcppStationWebSocketDisconnected.java b/src/main/java/de/rwth/idsg/steve/service/notification/OcppStationWebSocketDisconnected.java
index 55b19fe7c..9df67f40a 100644
--- a/src/main/java/de/rwth/idsg/steve/service/notification/OcppStationWebSocketDisconnected.java
+++ b/src/main/java/de/rwth/idsg/steve/service/notification/OcppStationWebSocketDisconnected.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/notification/OcppTransactionEnded.java b/src/main/java/de/rwth/idsg/steve/service/notification/OcppTransactionEnded.java
index 2e54c7602..ddb388ef1 100644
--- a/src/main/java/de/rwth/idsg/steve/service/notification/OcppTransactionEnded.java
+++ b/src/main/java/de/rwth/idsg/steve/service/notification/OcppTransactionEnded.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/service/notification/OcppTransactionStarted.java b/src/main/java/de/rwth/idsg/steve/service/notification/OcppTransactionStarted.java
index 3483fce6d..50f544eb0 100644
--- a/src/main/java/de/rwth/idsg/steve/service/notification/OcppTransactionStarted.java
+++ b/src/main/java/de/rwth/idsg/steve/service/notification/OcppTransactionStarted.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/ConnectorStatusCountFilter.java b/src/main/java/de/rwth/idsg/steve/utils/ConnectorStatusCountFilter.java
index 4b5c8167d..a3ef04be0 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/ConnectorStatusCountFilter.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/ConnectorStatusCountFilter.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/ConnectorStatusFilter.java b/src/main/java/de/rwth/idsg/steve/utils/ConnectorStatusFilter.java
index 02ccf842f..9e11286b3 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/ConnectorStatusFilter.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/ConnectorStatusFilter.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/ControllerHelper.java b/src/main/java/de/rwth/idsg/steve/utils/ControllerHelper.java
index c45a52d71..f86a79ea3 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/ControllerHelper.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/ControllerHelper.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/CountryCodesProvider.java b/src/main/java/de/rwth/idsg/steve/utils/CountryCodesProvider.java
index fee41603a..43a67f558 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/CountryCodesProvider.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/CountryCodesProvider.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/CustomDSL.java b/src/main/java/de/rwth/idsg/steve/utils/CustomDSL.java
index 575310525..6136e2c6f 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/CustomDSL.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/CustomDSL.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/DateConverter.java b/src/main/java/de/rwth/idsg/steve/utils/DateConverter.java
index 1af2b3d5e..d6fdee059 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/DateConverter.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/DateConverter.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/DateTimeConverter.java b/src/main/java/de/rwth/idsg/steve/utils/DateTimeConverter.java
index cf61a7ea7..898790170 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/DateTimeConverter.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/DateTimeConverter.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/DateTimeUtils.java b/src/main/java/de/rwth/idsg/steve/utils/DateTimeUtils.java
index 181dd1281..e11c2c059 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/DateTimeUtils.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/DateTimeUtils.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/InternetChecker.java b/src/main/java/de/rwth/idsg/steve/utils/InternetChecker.java
index efa1d7337..26fd40208 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/InternetChecker.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/InternetChecker.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/LogFileRetriever.java b/src/main/java/de/rwth/idsg/steve/utils/LogFileRetriever.java
index 7de47d9d1..6afa774c0 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/LogFileRetriever.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/LogFileRetriever.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/OcppTagActivityRecordUtils.java b/src/main/java/de/rwth/idsg/steve/utils/OcppTagActivityRecordUtils.java
index 04a9f9fac..a92b107ff 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/OcppTagActivityRecordUtils.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/OcppTagActivityRecordUtils.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/PropertiesFileLoader.java b/src/main/java/de/rwth/idsg/steve/utils/PropertiesFileLoader.java
index 4a6d1796c..7ca0f4d02 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/PropertiesFileLoader.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/PropertiesFileLoader.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/StringUtils.java b/src/main/java/de/rwth/idsg/steve/utils/StringUtils.java
index 91157505f..89e3c4fff 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/StringUtils.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/StringUtils.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/TransactionStopServiceHelper.java b/src/main/java/de/rwth/idsg/steve/utils/TransactionStopServiceHelper.java
index cdf02c4b2..8f15158e0 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/TransactionStopServiceHelper.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/TransactionStopServiceHelper.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/mapper/AddressMapper.java b/src/main/java/de/rwth/idsg/steve/utils/mapper/AddressMapper.java
index cf388d3f8..1eb0de5e4 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/mapper/AddressMapper.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/mapper/AddressMapper.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/mapper/ChargePointDetailsMapper.java b/src/main/java/de/rwth/idsg/steve/utils/mapper/ChargePointDetailsMapper.java
index 3d6c9399d..94a480ebd 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/mapper/ChargePointDetailsMapper.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/mapper/ChargePointDetailsMapper.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/mapper/ChargingProfileDetailsMapper.java b/src/main/java/de/rwth/idsg/steve/utils/mapper/ChargingProfileDetailsMapper.java
index e0227b476..dc3c96c1c 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/mapper/ChargingProfileDetailsMapper.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/mapper/ChargingProfileDetailsMapper.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/mapper/OcppTagFormMapper.java b/src/main/java/de/rwth/idsg/steve/utils/mapper/OcppTagFormMapper.java
index 2f62f9db4..474bddc57 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/mapper/OcppTagFormMapper.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/mapper/OcppTagFormMapper.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/utils/mapper/UserFormMapper.java b/src/main/java/de/rwth/idsg/steve/utils/mapper/UserFormMapper.java
index f43f4e888..c35473355 100644
--- a/src/main/java/de/rwth/idsg/steve/utils/mapper/UserFormMapper.java
+++ b/src/main/java/de/rwth/idsg/steve/utils/mapper/UserFormMapper.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/BatchInsertConverter.java b/src/main/java/de/rwth/idsg/steve/web/BatchInsertConverter.java
index 1d07e2577..a0902097c 100644
--- a/src/main/java/de/rwth/idsg/steve/web/BatchInsertConverter.java
+++ b/src/main/java/de/rwth/idsg/steve/web/BatchInsertConverter.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/ChargePointSelectEditor.java b/src/main/java/de/rwth/idsg/steve/web/ChargePointSelectEditor.java
index a6659e09f..16d79edc5 100644
--- a/src/main/java/de/rwth/idsg/steve/web/ChargePointSelectEditor.java
+++ b/src/main/java/de/rwth/idsg/steve/web/ChargePointSelectEditor.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -18,7 +18,7 @@
*/
package de.rwth.idsg.steve.web;
-import de.rwth.idsg.steve.ocpp.OcppTransport;
+import de.rwth.idsg.steve.ocpp.OcppProtocol;
import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
import java.beans.PropertyEditorSupport;
@@ -34,11 +34,11 @@ public void setAsText(String text) {
if (!text.isEmpty()) {
String[] chargePointItem = text.split(";");
- // chargePointItem[0] : ocpp transport type
+ // chargePointItem[0] : ocpp protocol
// chargePointItem[1] : chargebox id
// chargePointItem[2] : endpoint (IP) address
ChargePointSelect cps = new ChargePointSelect(
- OcppTransport.fromName(chargePointItem[0]),
+ OcppProtocol.valueOf(chargePointItem[0]),
chargePointItem[1],
chargePointItem[2]
);
diff --git a/src/main/java/de/rwth/idsg/steve/web/GlobalControllerAdvice.java b/src/main/java/de/rwth/idsg/steve/web/GlobalControllerAdvice.java
index f0c776bf6..e0b234ac4 100644
--- a/src/main/java/de/rwth/idsg/steve/web/GlobalControllerAdvice.java
+++ b/src/main/java/de/rwth/idsg/steve/web/GlobalControllerAdvice.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/LocalDateEditor.java b/src/main/java/de/rwth/idsg/steve/web/LocalDateEditor.java
index 35e572108..18940a8a8 100644
--- a/src/main/java/de/rwth/idsg/steve/web/LocalDateEditor.java
+++ b/src/main/java/de/rwth/idsg/steve/web/LocalDateEditor.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/LocalDateTimeEditor.java b/src/main/java/de/rwth/idsg/steve/web/LocalDateTimeEditor.java
index be84b6ae1..182d9f7bb 100644
--- a/src/main/java/de/rwth/idsg/steve/web/LocalDateTimeEditor.java
+++ b/src/main/java/de/rwth/idsg/steve/web/LocalDateTimeEditor.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/api/ApiControllerAdvice.java b/src/main/java/de/rwth/idsg/steve/web/api/ApiControllerAdvice.java
index 0e425affb..eae8c95e1 100644
--- a/src/main/java/de/rwth/idsg/steve/web/api/ApiControllerAdvice.java
+++ b/src/main/java/de/rwth/idsg/steve/web/api/ApiControllerAdvice.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/api/OcppTagsRestController.java b/src/main/java/de/rwth/idsg/steve/web/api/OcppTagsRestController.java
index e3df14e87..258e8f141 100644
--- a/src/main/java/de/rwth/idsg/steve/web/api/OcppTagsRestController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/api/OcppTagsRestController.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -24,10 +24,12 @@
import de.rwth.idsg.steve.web.api.ApiControllerAdvice.ApiErrorResponse;
import de.rwth.idsg.steve.web.dto.OcppTagForm;
import de.rwth.idsg.steve.web.dto.OcppTagQueryForm;
+import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
+import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
@@ -50,6 +52,14 @@
* @author Sevket Goekay
* @since 13.09.2022
*/
+@Tag(name = "ocpp-tag-controller",
+ description = """
+ Operations related to managing Ocpp Tags.
+ An Ocpp Tag is the identifier of the actor that interacts with the charge box.
+ It can be used for authorization, but also to start and stop charging sessions.
+ An RFID card is an example of an Ocpp Tag.
+ """
+)
@Slf4j
@RestController
@RequestMapping(value = "/api/v1/ocppTags", produces = MediaType.APPLICATION_JSON_VALUE)
@@ -58,7 +68,10 @@ public class OcppTagsRestController {
private final OcppTagService ocppTagService;
-
+ @Operation(description = """
+ Returns a list of Ocpp Tags based on the query parameters.
+ The query parameters can be used to filter the Ocpp Tags.
+ """)
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "OK"),
@ApiResponse(responseCode = "400", description = "Bad Request", content = {@Content(mediaType = "application/json", schema = @Schema(implementation = ApiErrorResponse.class))}),
@@ -75,6 +88,9 @@ public List get(OcppTagQueryForm.ForApi params) {
return response;
}
+ @Operation(description = """
+ Returns a single Ocpp Tag based on the ocppTagPk.
+ """)
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "OK"),
@ApiResponse(responseCode = "400", description = "Bad Request", content = {@Content(mediaType = "application/json", schema = @Schema(implementation = ApiErrorResponse.class))}),
@@ -92,6 +108,10 @@ public OcppTag.Overview getOne(@PathVariable("ocppTagPk") Integer ocppTagPk) {
return response;
}
+ @Operation(description = """
+ Creates a new Ocpp Tag with the provided parameters.
+ The request body should contain the necessary information.
+ """)
@ApiResponses(value = {
@ApiResponse(responseCode = "201", description = "Created"),
@ApiResponse(responseCode = "400", description = "Bad Request", content = {@Content(mediaType = "application/json", schema = @Schema(implementation = ApiErrorResponse.class))}),
@@ -113,6 +133,9 @@ public OcppTag.Overview create(@RequestBody @Valid OcppTagForm params) {
return response;
}
+ @Operation(description = """
+ Updates an existing Ocpp Tag with the provided parameters.
+ """)
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "OK"),
@ApiResponse(responseCode = "400", description = "Bad Request", content = {@Content(mediaType = "application/json", schema = @Schema(implementation = ApiErrorResponse.class))}),
@@ -133,6 +156,10 @@ public OcppTag.Overview update(@PathVariable("ocppTagPk") Integer ocppTagPk, @Re
return response;
}
+ @Operation(description = """
+ Deletes an existing Ocpp Tag based on the ocppTagPk.
+ Returns the deleted Ocpp Tag.
+ """)
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "OK"),
@ApiResponse(responseCode = "400", description = "Bad Request", content = {@Content(mediaType = "application/json", schema = @Schema(implementation = ApiErrorResponse.class))}),
diff --git a/src/main/java/de/rwth/idsg/steve/web/api/RemoteStartStopRestController.java b/src/main/java/de/rwth/idsg/steve/web/api/RemoteStartStopRestController.java
index 453b5ffa2..42def1b9b 100644
--- a/src/main/java/de/rwth/idsg/steve/web/api/RemoteStartStopRestController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/api/RemoteStartStopRestController.java
@@ -27,9 +27,7 @@
import de.rwth.idsg.steve.repository.dto.TaskOverview;
import de.rwth.idsg.steve.service.ChargePointHelperService;
-import de.rwth.idsg.steve.service.ChargePointService12_Client;
-import de.rwth.idsg.steve.service.ChargePointService15_Client;
-import de.rwth.idsg.steve.service.ChargePointService16_Client;
+import de.rwth.idsg.steve.service.ChargePointServiceClient;
import de.rwth.idsg.steve.web.dto.ocpp.RemoteStartTransactionParams;
import de.rwth.idsg.steve.web.dto.ocpp.RemoteStopTransactionParams;
@@ -37,13 +35,11 @@
import de.rwth.idsg.steve.web.dto.ocpp.UnlockConnectorParams;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
import de.rwth.idsg.steve.web.api.ApiControllerAdvice.ApiErrorResponse;
import de.rwth.idsg.steve.web.api.dto.ApiChargePointList;
import de.rwth.idsg.steve.web.api.dto.ApiChargePointStart;
import de.rwth.idsg.steve.web.api.exception.BadRequestException;
-import de.rwth.idsg.steve.web.dto.ChargePointQueryForm;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
@@ -80,64 +76,14 @@ public class RemoteStartStopRestController {
@Autowired private TransactionRepository transactionRepository;
@Autowired private TaskStore taskStore;
- @Autowired
- @Qualifier("ChargePointService12_Client")
- private ChargePointService12_Client client12;
-
- @Autowired
- @Qualifier("ChargePointService15_Client")
- private ChargePointService15_Client client15;
@Autowired
- @Qualifier("ChargePointService16_Client")
- private ChargePointService16_Client client16;
+ private ChargePointServiceClient client;
// -------------------------------------------------------------------------
// Helpers
// -------------------------------------------------------------------------
- private String getOcppProtocol(String chargeBoxId) {
- ChargePointQueryForm form = new ChargePointQueryForm();
- form.setChargeBoxId(chargeBoxId);
- return chargePointRepository.getOverview(form).get(0).getOcppProtocol().toUpperCase();
- }
-
- private Integer remoteStart(String chargeBoxId, RemoteStartTransactionParams transactionParams) {
- String ocppProtocol = getOcppProtocol(chargeBoxId);
- Integer taskId;
- taskId = switch (ocppProtocol) {
- case "OCPP1.6J", "OCPP1.6S" -> client16.remoteStartTransaction(transactionParams, "SteveWebApi");
- case "OCPP1.5J", "OCPP1.5S", "OCPP1.5" -> client15.remoteStartTransaction(transactionParams, "SteveWebApi");
- case "OCPP1.2" -> client12.remoteStartTransaction(transactionParams, "SteveWebApi");
- default -> client12.remoteStartTransaction(transactionParams, "SteveWebApi");
- };
- return taskId;
- }
-
- private Integer remoteStop(String chargeBoxId, RemoteStopTransactionParams transactionParams) {
- String ocppProtocol = getOcppProtocol(chargeBoxId);
- Integer taskId;
- taskId = switch (ocppProtocol) {
- case "OCPP1.6J", "OCPP1.6S" -> client16.remoteStopTransaction(transactionParams, "SteveWebApi");
- case "OCPP1.5J", "OCPP1.5S", "OCPP1.5" -> client15.remoteStopTransaction(transactionParams, "SteveWebApi");
- case "OCPP1.2" -> client12.remoteStopTransaction(transactionParams, "SteveWebApi");
- default -> client12.remoteStopTransaction(transactionParams, "SteveWebApi");
- };
- return taskId;
- }
-
- private Integer remoteUnlock(String chargeBoxId, UnlockConnectorParams transactionParams) {
- String ocppProtocol = getOcppProtocol(chargeBoxId);
- Integer taskId;
- taskId = switch (ocppProtocol) {
- case "OCPP1.6J", "OCPP1.6S" -> client16.unlockConnector(transactionParams, "SteveWebApi");
- case "OCPP1.5J", "OCPP1.5S", "OCPP1.5" -> client15.unlockConnector(transactionParams, "SteveWebApi");
- case "OCPP1.2" -> client12.unlockConnector(transactionParams, "SteveWebApi");
- default -> client12.unlockConnector(transactionParams, "SteveWebApi");
- };
- return taskId;
- }
-
private ApiChargePointList getChargePoints() {
List chargePoints = chargePointHelperService.getChargePoints(OcppVersion.V_12);
chargePoints.addAll(chargePointHelperService.getChargePoints(OcppVersion.V_15));
@@ -291,7 +237,7 @@ public Integer postRemoteStartTx(@Valid ApiChargePointStart params) {
transactionParams.setChargePointSelectList(chargePointRepository.getChargePointSelect(params.getChargeBoxId()));
transactionParams.setConnectorId(params.getConnectorId());
transactionParams.setIdTag(params.getOcppTag());
- return remoteStart(params.getChargeBoxId(), transactionParams);
+ return client.remoteStartTransaction(transactionParams, "SteveWebApi");
}
@ApiResponses(value = {
@@ -340,7 +286,7 @@ public Integer postRemoteStopTx(@Valid ApiChargePointStart params) {
}
transactionParams.setTransactionId(transactionId);
- return remoteStop(params.getChargeBoxId(), transactionParams);
+ return client.remoteStopTransaction(transactionParams, "SteveWebApi");
}
@ApiResponses(value = {
@@ -381,6 +327,6 @@ public Integer postUnlockCon(@Valid ApiChargePointStart params) {
}
transactionParams.setConnectorId(params.getConnectorId());
- return remoteUnlock(params.getChargeBoxId(), transactionParams);
+ return client.unlockConnector(transactionParams, "SteveWebApi");
}
}
diff --git a/src/main/java/de/rwth/idsg/steve/web/api/TransactionsRestController.java b/src/main/java/de/rwth/idsg/steve/web/api/TransactionsRestController.java
index 1841a1bc7..f92f340c6 100644
--- a/src/main/java/de/rwth/idsg/steve/web/api/TransactionsRestController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/api/TransactionsRestController.java
@@ -23,10 +23,12 @@
import de.rwth.idsg.steve.web.api.ApiControllerAdvice.ApiErrorResponse;
import de.rwth.idsg.steve.web.api.exception.BadRequestException;
import de.rwth.idsg.steve.web.dto.TransactionQueryForm;
+import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
+import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
@@ -42,6 +44,12 @@
* @author Sevket Goekay
* @since 13.09.2022
*/
+@Tag(name = "transaction-controller",
+ description = """
+ Operations related to querying transactions.
+ A transaction represents a charging session at a charge box (i.e. charging station. The notions 'charge box' and 'charging station' are being used interchangeably).
+ """
+)
@Slf4j
@RestController
@RequestMapping(value = "/api/v1/transactions", produces = MediaType.APPLICATION_JSON_VALUE)
@@ -50,6 +58,10 @@ public class TransactionsRestController {
private final TransactionRepository transactionRepository;
+ @Operation(description = """
+ Returns a list of transactions based on the query parameters.
+ The query parameters can be used to filter the transactions.
+ """)
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "OK"),
@ApiResponse(responseCode = "400", description = "Bad Request", content = {@Content(mediaType = "application/json", schema = @Schema(implementation = ApiErrorResponse.class))}),
diff --git a/src/main/java/de/rwth/idsg/steve/web/api/dto/ApiTaskInfo.java b/src/main/java/de/rwth/idsg/steve/web/api/dto/ApiTaskInfo.java
index 33a2244b2..c1ca4e955 100644
--- a/src/main/java/de/rwth/idsg/steve/web/api/dto/ApiTaskInfo.java
+++ b/src/main/java/de/rwth/idsg/steve/web/api/dto/ApiTaskInfo.java
@@ -67,7 +67,7 @@ public class ApiTaskInfo {
public ApiTaskInfo(Integer taskId, CommunicationTask r) {
this.taskId = taskId;
- this.ocppVersion = r.getOcppVersion();
+ //this.ocppVersion = r.getOcppVersion();
this.operationName = r.getOperationName();
this.origin = r.getOrigin();
this.caller = r.getCaller();
diff --git a/src/main/java/de/rwth/idsg/steve/web/api/exception/BadRequestException.java b/src/main/java/de/rwth/idsg/steve/web/api/exception/BadRequestException.java
index 8113b12cd..7f09bc229 100644
--- a/src/main/java/de/rwth/idsg/steve/web/api/exception/BadRequestException.java
+++ b/src/main/java/de/rwth/idsg/steve/web/api/exception/BadRequestException.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/AboutSettingsController.java b/src/main/java/de/rwth/idsg/steve/web/controller/AboutSettingsController.java
index cfe3c6452..c56b10a43 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/AboutSettingsController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/AboutSettingsController.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/AjaxCallController.java b/src/main/java/de/rwth/idsg/steve/web/controller/AjaxCallController.java
index 2495794f1..322cdfe52 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/AjaxCallController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/AjaxCallController.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/ChargePointsController.java b/src/main/java/de/rwth/idsg/steve/web/controller/ChargePointsController.java
index ede3e21aa..b74b7aef4 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/ChargePointsController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/ChargePointsController.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/ChargingProfilesController.java b/src/main/java/de/rwth/idsg/steve/web/controller/ChargingProfilesController.java
index 522fde8b2..ff8ee3971 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/ChargingProfilesController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/ChargingProfilesController.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/HomeController.java b/src/main/java/de/rwth/idsg/steve/web/controller/HomeController.java
index 71742fefb..39e2ed457 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/HomeController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/HomeController.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/LogController.java b/src/main/java/de/rwth/idsg/steve/web/controller/LogController.java
index c9c108895..ba51be2bf 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/LogController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/LogController.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/Ocpp12Controller.java b/src/main/java/de/rwth/idsg/steve/web/controller/Ocpp12Controller.java
index c426c21ba..7bbd7c1c6 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/Ocpp12Controller.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/Ocpp12Controller.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,7 @@
import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.service.ChargePointHelperService;
-import de.rwth.idsg.steve.service.ChargePointService12_Client;
+import de.rwth.idsg.steve.service.ChargePointServiceClient;
import de.rwth.idsg.steve.service.OcppTagService;
import de.rwth.idsg.steve.web.dto.ocpp.ChangeAvailabilityParams;
import de.rwth.idsg.steve.web.dto.ocpp.ChangeConfigurationParams;
@@ -34,7 +34,6 @@
import de.rwth.idsg.steve.web.dto.ocpp.UnlockConnectorParams;
import de.rwth.idsg.steve.web.dto.ocpp.UpdateFirmwareParams;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
@@ -43,6 +42,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import jakarta.validation.Valid;
+
import java.util.Map;
import static de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyReadWriteEnum.RW;
@@ -57,10 +57,7 @@ public class Ocpp12Controller {
@Autowired protected ChargePointHelperService chargePointHelperService;
@Autowired protected OcppTagService ocppTagService;
-
- @Autowired
- @Qualifier("ChargePointService12_Client")
- private ChargePointService12_Client client12;
+ @Autowired protected ChargePointServiceClient chargePointServiceClient;
protected static final String PARAMS = "params";
@@ -84,10 +81,6 @@ public class Ocpp12Controller {
// Helpers
// -------------------------------------------------------------------------
- protected ChargePointService12_Client getClient12() {
- return client12;
- }
-
protected void setCommonAttributesForTx(Model model) {
setCommonAttributes(model);
}
@@ -199,7 +192,7 @@ public String postChangeAvail(@Valid @ModelAttribute(PARAMS) ChangeAvailabilityP
setCommonAttributes(model);
return getPrefix() + CHANGE_AVAIL_PATH;
}
- return REDIRECT_TASKS_PATH + getClient12().changeAvailability(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.changeAvailability(params);
}
@RequestMapping(value = CHANGE_CONF_PATH, method = RequestMethod.POST)
@@ -210,7 +203,7 @@ public String postChangeConf(@Valid @ModelAttribute(PARAMS) ChangeConfigurationP
model.addAttribute("ocppConfKeys", getConfigurationKeys(RW));
return getPrefix() + CHANGE_CONF_PATH;
}
- return REDIRECT_TASKS_PATH + getClient12().changeConfiguration(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.changeConfiguration(params);
}
@RequestMapping(value = CLEAR_CACHE_PATH, method = RequestMethod.POST)
@@ -220,7 +213,7 @@ public String postClearCache(@Valid @ModelAttribute(PARAMS) MultipleChargePointS
setCommonAttributes(model);
return getPrefix() + CLEAR_CACHE_PATH;
}
- return REDIRECT_TASKS_PATH + getClient12().clearCache(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.clearCache(params);
}
@RequestMapping(value = GET_DIAG_PATH, method = RequestMethod.POST)
@@ -230,7 +223,7 @@ public String postGetDiag(@Valid @ModelAttribute(PARAMS) GetDiagnosticsParams pa
setCommonAttributes(model);
return getPrefix() + GET_DIAG_PATH;
}
- return REDIRECT_TASKS_PATH + getClient12().getDiagnostics(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.getDiagnostics(params);
}
@RequestMapping(value = REMOTE_START_TX_PATH, method = RequestMethod.POST)
@@ -241,7 +234,7 @@ public String postRemoteStartTx(@Valid @ModelAttribute(PARAMS) RemoteStartTransa
setActiveUserIdTagList(model);
return getPrefix() + REMOTE_START_TX_PATH;
}
- return REDIRECT_TASKS_PATH + getClient12().remoteStartTransaction(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.remoteStartTransaction(params);
}
@RequestMapping(value = REMOTE_STOP_TX_PATH, method = RequestMethod.POST)
@@ -251,7 +244,7 @@ public String postRemoteStopTx(@Valid @ModelAttribute(PARAMS) RemoteStopTransact
setCommonAttributesForTx(model);
return getPrefix() + REMOTE_STOP_TX_PATH;
}
- return REDIRECT_TASKS_PATH + getClient12().remoteStopTransaction(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.remoteStopTransaction(params);
}
@RequestMapping(value = RESET_PATH, method = RequestMethod.POST)
@@ -261,7 +254,7 @@ public String postReset(@Valid @ModelAttribute(PARAMS) ResetParams params,
setCommonAttributes(model);
return getPrefix() + RESET_PATH;
}
- return REDIRECT_TASKS_PATH + getClient12().reset(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.reset(params);
}
@RequestMapping(value = UNLOCK_CON_PATH, method = RequestMethod.POST)
@@ -271,7 +264,7 @@ public String postUnlockCon(@Valid @ModelAttribute(PARAMS) UnlockConnectorParams
setCommonAttributes(model);
return getPrefix() + UNLOCK_CON_PATH;
}
- return REDIRECT_TASKS_PATH + getClient12().unlockConnector(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.unlockConnector(params);
}
@RequestMapping(value = UPDATE_FIRM_PATH, method = RequestMethod.POST)
@@ -281,6 +274,6 @@ public String postUpdateFirm(@Valid @ModelAttribute(PARAMS) UpdateFirmwareParams
setCommonAttributes(model);
return getPrefix() + UPDATE_FIRM_PATH;
}
- return REDIRECT_TASKS_PATH + getClient12().updateFirmware(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.updateFirmware(params);
}
}
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/Ocpp15Controller.java b/src/main/java/de/rwth/idsg/steve/web/controller/Ocpp15Controller.java
index 39da5a2fa..7cb742eeb 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/Ocpp15Controller.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/Ocpp15Controller.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -19,8 +19,6 @@
package de.rwth.idsg.steve.web.controller;
import de.rwth.idsg.steve.ocpp.OcppVersion;
-import de.rwth.idsg.steve.service.ChargePointService12_Client;
-import de.rwth.idsg.steve.service.ChargePointService15_Client;
import de.rwth.idsg.steve.web.dto.ocpp.CancelReservationParams;
import de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyEnum;
import de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyReadWriteEnum;
@@ -29,8 +27,6 @@
import de.rwth.idsg.steve.web.dto.ocpp.MultipleChargePointSelect;
import de.rwth.idsg.steve.web.dto.ocpp.ReserveNowParams;
import de.rwth.idsg.steve.web.dto.ocpp.SendLocalListParams;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
@@ -39,6 +35,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import jakarta.validation.Valid;
+
import java.util.Map;
import static de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyReadWriteEnum.RW;
@@ -51,10 +48,6 @@
@RequestMapping(value = "/manager/operations/v1.5")
public class Ocpp15Controller extends Ocpp12Controller {
- @Autowired
- @Qualifier("ChargePointService15_Client")
- private ChargePointService15_Client client15;
-
// -------------------------------------------------------------------------
// Paths
// -------------------------------------------------------------------------
@@ -70,15 +63,6 @@ public class Ocpp15Controller extends Ocpp12Controller {
// Helpers
// -------------------------------------------------------------------------
- protected ChargePointService15_Client getClient15() {
- return client15;
- }
-
- @Override
- protected ChargePointService12_Client getClient12() {
- return client15;
- }
-
@Override
protected void setCommonAttributes(Model model) {
model.addAttribute("cpList", chargePointHelperService.getChargePoints(OcppVersion.V_15));
@@ -166,7 +150,7 @@ public String postReserveNow(@Valid @ModelAttribute(PARAMS) ReserveNowParams par
setActiveUserIdTagList(model);
return getPrefix() + RESERVE_PATH;
}
- return REDIRECT_TASKS_PATH + getClient15().reserveNow(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.reserveNow(params);
}
@RequestMapping(value = CANCEL_RESERV_PATH, method = RequestMethod.POST)
@@ -176,7 +160,7 @@ public String postCancelReserv(@Valid @ModelAttribute(PARAMS) CancelReservationP
setCommonAttributes(model);
return getPrefix() + CANCEL_RESERV_PATH;
}
- return REDIRECT_TASKS_PATH + getClient15().cancelReservation(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.cancelReservation(params);
}
@RequestMapping(value = DATA_TRANSFER_PATH, method = RequestMethod.POST)
@@ -186,7 +170,7 @@ public String postDataTransfer(@Valid @ModelAttribute(PARAMS) DataTransferParams
setCommonAttributes(model);
return getPrefix() + DATA_TRANSFER_PATH;
}
- return REDIRECT_TASKS_PATH + getClient15().dataTransfer(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.dataTransfer(params);
}
@RequestMapping(value = GET_CONF_PATH, method = RequestMethod.POST)
@@ -197,7 +181,7 @@ public String postGetConf(@Valid @ModelAttribute(PARAMS) GetConfigurationParams
model.addAttribute("ocppConfKeys", getConfigurationKeys(RW));
return getPrefix() + GET_CONF_PATH;
}
- return REDIRECT_TASKS_PATH + getClient15().getConfiguration(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.getConfiguration(params);
}
@RequestMapping(value = GET_LIST_VERSION_PATH, method = RequestMethod.POST)
@@ -207,7 +191,7 @@ public String postListVersion(@Valid @ModelAttribute(PARAMS) MultipleChargePoint
setCommonAttributes(model);
return getPrefix() + GET_LIST_VERSION_PATH;
}
- return REDIRECT_TASKS_PATH + getClient15().getLocalListVersion(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.getLocalListVersion(params);
}
@RequestMapping(value = SEND_LIST_PATH, method = RequestMethod.POST)
@@ -218,6 +202,6 @@ public String postSendList(@Valid @ModelAttribute(PARAMS) SendLocalListParams pa
setAllUserIdTagList(model);
return getPrefix() + SEND_LIST_PATH;
}
- return REDIRECT_TASKS_PATH + getClient15().sendLocalList(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.sendLocalList(params);
}
}
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/Ocpp16Controller.java b/src/main/java/de/rwth/idsg/steve/web/controller/Ocpp16Controller.java
index da92dfdd2..2546e6ec5 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/Ocpp16Controller.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/Ocpp16Controller.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
@@ -20,9 +20,6 @@
import de.rwth.idsg.steve.ocpp.OcppVersion;
import de.rwth.idsg.steve.repository.ChargingProfileRepository;
-import de.rwth.idsg.steve.service.ChargePointService12_Client;
-import de.rwth.idsg.steve.service.ChargePointService15_Client;
-import de.rwth.idsg.steve.service.ChargePointService16_Client;
import de.rwth.idsg.steve.web.dto.ocpp.ChangeConfigurationParams;
import de.rwth.idsg.steve.web.dto.ocpp.ClearChargingProfileParams;
import de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyEnum;
@@ -33,7 +30,6 @@
import de.rwth.idsg.steve.web.dto.ocpp.TriggerMessageParams;
import ocpp.cs._2015._10.RegistrationStatus;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
@@ -42,6 +38,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import jakarta.validation.Valid;
+
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -58,10 +55,6 @@
@RequestMapping(value = "/manager/operations/v1.6")
public class Ocpp16Controller extends Ocpp15Controller {
- @Autowired
- @Qualifier("ChargePointService16_Client")
- private ChargePointService16_Client client16;
-
@Autowired private ChargingProfileRepository chargingProfileRepository;
// -------------------------------------------------------------------------
@@ -77,20 +70,6 @@ public class Ocpp16Controller extends Ocpp15Controller {
// Helpers
// -------------------------------------------------------------------------
- protected ChargePointService16_Client getClient16() {
- return client16;
- }
-
- @Override
- protected ChargePointService15_Client getClient15() {
- return client16;
- }
-
- @Override
- protected ChargePointService12_Client getClient12() {
- return client16;
- }
-
@Override
protected void setCommonAttributesForTx(Model model) {
model.addAttribute("cpList", chargePointHelperService.getChargePoints(OcppVersion.V_16));
@@ -161,7 +140,7 @@ public String postGetConf(@Valid @ModelAttribute(PARAMS) GetConfigurationParams
model.addAttribute("ocppConfKeys", getConfigurationKeys(R));
return getPrefix() + GET_CONF_PATH;
}
- return REDIRECT_TASKS_PATH + getClient15().getConfiguration(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.getConfiguration(params);
}
// -------------------------------------------------------------------------
@@ -209,7 +188,7 @@ public String postTriggerMessage(@Valid @ModelAttribute(PARAMS) TriggerMessagePa
setCommonAttributes(model);
return getPrefix() + TRIGGER_MESSAGE_PATH;
}
- return REDIRECT_TASKS_PATH + getClient16().triggerMessage(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.triggerMessage(params);
}
@RequestMapping(value = SET_CHARGING_PATH, method = RequestMethod.POST)
@@ -219,7 +198,7 @@ public String postSetChargingProfile(@Valid @ModelAttribute(PARAMS) SetChargingP
setCommonAttributes(model);
return getPrefix() + SET_CHARGING_PATH;
}
- return REDIRECT_TASKS_PATH + getClient16().setChargingProfile(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.setChargingProfile(params);
}
@RequestMapping(value = CLEAR_CHARGING_PATH, method = RequestMethod.POST)
@@ -229,7 +208,7 @@ public String postClearChargingProfile(@Valid @ModelAttribute(PARAMS) ClearCharg
setCommonAttributes(model);
return getPrefix() + CLEAR_CHARGING_PATH;
}
- return REDIRECT_TASKS_PATH + getClient16().clearChargingProfile(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.clearChargingProfile(params);
}
@RequestMapping(value = GET_COMPOSITE_PATH, method = RequestMethod.POST)
@@ -239,6 +218,6 @@ public String postGetCompositeSchedule(@Valid @ModelAttribute(PARAMS) GetComposi
setCommonAttributes(model);
return getPrefix() + GET_COMPOSITE_PATH;
}
- return REDIRECT_TASKS_PATH + getClient16().getCompositeSchedule(params);
+ return REDIRECT_TASKS_PATH + chargePointServiceClient.getCompositeSchedule(params);
}
}
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/OcppTagsController.java b/src/main/java/de/rwth/idsg/steve/web/controller/OcppTagsController.java
index 808ae3ffc..4b36fb301 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/OcppTagsController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/OcppTagsController.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/SignOutController.java b/src/main/java/de/rwth/idsg/steve/web/controller/SignOutController.java
index ce53af84e..e73ae53ff 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/SignOutController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/SignOutController.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/TaskController.java b/src/main/java/de/rwth/idsg/steve/web/controller/TaskController.java
index 48f0603e4..f903c9604 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/TaskController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/TaskController.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/TransactionsReservationsController.java b/src/main/java/de/rwth/idsg/steve/web/controller/TransactionsReservationsController.java
index 84815cc35..dd08dd917 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/TransactionsReservationsController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/TransactionsReservationsController.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/controller/UsersController.java b/src/main/java/de/rwth/idsg/steve/web/controller/UsersController.java
index 542facbc4..6bfa29fb8 100644
--- a/src/main/java/de/rwth/idsg/steve/web/controller/UsersController.java
+++ b/src/main/java/de/rwth/idsg/steve/web/controller/UsersController.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/Address.java b/src/main/java/de/rwth/idsg/steve/web/dto/Address.java
index 17e89060e..d55a03460 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/Address.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/Address.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ChargePointBatchInsertForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/ChargePointBatchInsertForm.java
index 706002e12..2042bf6bf 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ChargePointBatchInsertForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ChargePointBatchInsertForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ChargePointForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/ChargePointForm.java
index 05437b439..51c4dabca 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ChargePointForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ChargePointForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ChargePointQueryForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/ChargePointQueryForm.java
index 68ee603ca..eb73fc3ec 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ChargePointQueryForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ChargePointQueryForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ChargingProfileAssignmentQueryForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/ChargingProfileAssignmentQueryForm.java
index 24907c4d8..e44474676 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ChargingProfileAssignmentQueryForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ChargingProfileAssignmentQueryForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ChargingProfileForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/ChargingProfileForm.java
index d18298fd4..f4e86c94c 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ChargingProfileForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ChargingProfileForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ChargingProfileQueryForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/ChargingProfileQueryForm.java
index f78ec795f..cd7a9412f 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ChargingProfileQueryForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ChargingProfileQueryForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ConnectorStatusForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/ConnectorStatusForm.java
index b89bede17..f054eb48d 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ConnectorStatusForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ConnectorStatusForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/EndpointInfo.java b/src/main/java/de/rwth/idsg/steve/web/dto/EndpointInfo.java
index 5e4c1dec5..e34fe950a 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/EndpointInfo.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/EndpointInfo.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/OcppJsonStatus.java b/src/main/java/de/rwth/idsg/steve/web/dto/OcppJsonStatus.java
index 21722a0b2..55a3466a3 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/OcppJsonStatus.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/OcppJsonStatus.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/OcppTagBatchInsertForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/OcppTagBatchInsertForm.java
index a1407650c..01451cfa3 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/OcppTagBatchInsertForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/OcppTagBatchInsertForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/OcppTagForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/OcppTagForm.java
index 22fc8541d..ac5b5f7f2 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/OcppTagForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/OcppTagForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/OcppTagQueryForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/OcppTagQueryForm.java
index ca344ca86..90ce2b1a1 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/OcppTagQueryForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/OcppTagQueryForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/QueryForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/QueryForm.java
index 0b734b3ba..a571b560f 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/QueryForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/QueryForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ReleaseReport.java b/src/main/java/de/rwth/idsg/steve/web/dto/ReleaseReport.java
index 2609b4c66..c10e2f840 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ReleaseReport.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ReleaseReport.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ReleaseResponse.java b/src/main/java/de/rwth/idsg/steve/web/dto/ReleaseResponse.java
index 74f50536e..c78be6c28 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ReleaseResponse.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ReleaseResponse.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ReservationQueryForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/ReservationQueryForm.java
index c93f94124..6ad1de629 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ReservationQueryForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ReservationQueryForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/SettingsForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/SettingsForm.java
index d9a12dc60..4243355b0 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/SettingsForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/SettingsForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/Statistics.java b/src/main/java/de/rwth/idsg/steve/web/dto/Statistics.java
index 9f2293c89..45c4a7e1d 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/Statistics.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/Statistics.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/TransactionQueryForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/TransactionQueryForm.java
index 40809d16b..d750928ad 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/TransactionQueryForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/TransactionQueryForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/UserForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/UserForm.java
index 3d5eb8d49..760ea855f 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/UserForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/UserForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/UserQueryForm.java b/src/main/java/de/rwth/idsg/steve/web/dto/UserQueryForm.java
index 6451d7621..e3201fd4f 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/UserQueryForm.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/UserQueryForm.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/UserSex.java b/src/main/java/de/rwth/idsg/steve/web/dto/UserSex.java
index c544e0fd9..9207b4cd5 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/UserSex.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/UserSex.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/AvailabilityType.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/AvailabilityType.java
index a83f0a180..9358b2e57 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/AvailabilityType.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/AvailabilityType.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/CancelReservationParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/CancelReservationParams.java
index 18c6c425e..151c43233 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/CancelReservationParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/CancelReservationParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ChangeAvailabilityParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ChangeAvailabilityParams.java
index 84f0bb1a6..45e4f9c30 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ChangeAvailabilityParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ChangeAvailabilityParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ChangeConfigurationParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ChangeConfigurationParams.java
index f427bf0d0..7520c519c 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ChangeConfigurationParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ChangeConfigurationParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ChargePointSelection.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ChargePointSelection.java
index 9d163ebfa..2dfd6c6f6 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ChargePointSelection.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ChargePointSelection.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ClearChargingProfileFilterType.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ClearChargingProfileFilterType.java
index 821f948a7..323e9c12c 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ClearChargingProfileFilterType.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ClearChargingProfileFilterType.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ClearChargingProfileParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ClearChargingProfileParams.java
index e02e66bee..4680ef993 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ClearChargingProfileParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ClearChargingProfileParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ConfigurationKeyEnum.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ConfigurationKeyEnum.java
index 987cfd3ee..c917d6a9c 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ConfigurationKeyEnum.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ConfigurationKeyEnum.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ConfigurationKeyReadWriteEnum.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ConfigurationKeyReadWriteEnum.java
index 0dc2530ad..44460a465 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ConfigurationKeyReadWriteEnum.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ConfigurationKeyReadWriteEnum.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/DataTransferParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/DataTransferParams.java
index e396a5bb2..d9c5f0b6d 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/DataTransferParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/DataTransferParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/GetCompositeScheduleParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/GetCompositeScheduleParams.java
index 8e8c916f3..ee8c8c162 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/GetCompositeScheduleParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/GetCompositeScheduleParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/GetConfigurationParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/GetConfigurationParams.java
index c50de3384..24387ec3e 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/GetConfigurationParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/GetConfigurationParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/GetDiagnosticsParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/GetDiagnosticsParams.java
index 4a0da9ed9..78b331827 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/GetDiagnosticsParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/GetDiagnosticsParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/MultipleChargePointSelect.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/MultipleChargePointSelect.java
index ce67b83b5..31ab799f7 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/MultipleChargePointSelect.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/MultipleChargePointSelect.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/RemoteStartTransactionParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/RemoteStartTransactionParams.java
index 91dcec296..1fecf5f39 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/RemoteStartTransactionParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/RemoteStartTransactionParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/RemoteStopTransactionParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/RemoteStopTransactionParams.java
index 7aa38ffea..74c2d1e7a 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/RemoteStopTransactionParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/RemoteStopTransactionParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ReserveNowParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ReserveNowParams.java
index 6ec80f677..bbbc4cf05 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ReserveNowParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ReserveNowParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ResetParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ResetParams.java
index 3f81ba12b..f3f8adedf 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ResetParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ResetParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ResetType.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ResetType.java
index 337786f04..e1fef8970 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ResetType.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/ResetType.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SendLocalListParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SendLocalListParams.java
index 0ef4b29c8..1b3d13d3b 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SendLocalListParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SendLocalListParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SendLocalListUpdateType.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SendLocalListUpdateType.java
index 4adc784e9..16cd4e0bf 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SendLocalListUpdateType.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SendLocalListUpdateType.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SetChargingProfileParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SetChargingProfileParams.java
index 874336fde..b387be875 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SetChargingProfileParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SetChargingProfileParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SingleChargePointSelect.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SingleChargePointSelect.java
index fe90054e2..1646167bc 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SingleChargePointSelect.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/SingleChargePointSelect.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/TriggerMessageEnum.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/TriggerMessageEnum.java
index 7e87c8972..af90b8769 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/TriggerMessageEnum.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/TriggerMessageEnum.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/TriggerMessageParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/TriggerMessageParams.java
index c91d0d387..988b08b31 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/TriggerMessageParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/TriggerMessageParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/UnlockConnectorParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/UnlockConnectorParams.java
index 29b27b53a..0ae1e3dbc 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/UnlockConnectorParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/UnlockConnectorParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/UpdateFirmwareParams.java b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/UpdateFirmwareParams.java
index 278a4116c..a0b7599f5 100644
--- a/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/UpdateFirmwareParams.java
+++ b/src/main/java/de/rwth/idsg/steve/web/dto/ocpp/UpdateFirmwareParams.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/validation/ChargeBoxId.java b/src/main/java/de/rwth/idsg/steve/web/validation/ChargeBoxId.java
index a5f9b8224..c2465698e 100644
--- a/src/main/java/de/rwth/idsg/steve/web/validation/ChargeBoxId.java
+++ b/src/main/java/de/rwth/idsg/steve/web/validation/ChargeBoxId.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/validation/ChargeBoxIdListValidator.java b/src/main/java/de/rwth/idsg/steve/web/validation/ChargeBoxIdListValidator.java
index 356cfcfca..0bee84a5e 100644
--- a/src/main/java/de/rwth/idsg/steve/web/validation/ChargeBoxIdListValidator.java
+++ b/src/main/java/de/rwth/idsg/steve/web/validation/ChargeBoxIdListValidator.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/validation/ChargeBoxIdValidator.java b/src/main/java/de/rwth/idsg/steve/web/validation/ChargeBoxIdValidator.java
index fd0f7c60b..5c21ad58f 100644
--- a/src/main/java/de/rwth/idsg/steve/web/validation/ChargeBoxIdValidator.java
+++ b/src/main/java/de/rwth/idsg/steve/web/validation/ChargeBoxIdValidator.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/validation/EmailCollection.java b/src/main/java/de/rwth/idsg/steve/web/validation/EmailCollection.java
index a857fd1b1..c33a0e177 100644
--- a/src/main/java/de/rwth/idsg/steve/web/validation/EmailCollection.java
+++ b/src/main/java/de/rwth/idsg/steve/web/validation/EmailCollection.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/validation/EmailCollectionValidator.java b/src/main/java/de/rwth/idsg/steve/web/validation/EmailCollectionValidator.java
index 1b881c2f1..8e5c71a8d 100644
--- a/src/main/java/de/rwth/idsg/steve/web/validation/EmailCollectionValidator.java
+++ b/src/main/java/de/rwth/idsg/steve/web/validation/EmailCollectionValidator.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/validation/IdTag.java b/src/main/java/de/rwth/idsg/steve/web/validation/IdTag.java
index 74dda7233..1df49e989 100644
--- a/src/main/java/de/rwth/idsg/steve/web/validation/IdTag.java
+++ b/src/main/java/de/rwth/idsg/steve/web/validation/IdTag.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/validation/IdTagListValidator.java b/src/main/java/de/rwth/idsg/steve/web/validation/IdTagListValidator.java
index 32f38c5d0..e357c53a8 100644
--- a/src/main/java/de/rwth/idsg/steve/web/validation/IdTagListValidator.java
+++ b/src/main/java/de/rwth/idsg/steve/web/validation/IdTagListValidator.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/java/de/rwth/idsg/steve/web/validation/IdTagValidator.java b/src/main/java/de/rwth/idsg/steve/web/validation/IdTagValidator.java
index f9b279d29..f57a2575f 100644
--- a/src/main/java/de/rwth/idsg/steve/web/validation/IdTagValidator.java
+++ b/src/main/java/de/rwth/idsg/steve/web/validation/IdTagValidator.java
@@ -1,6 +1,6 @@
/*
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- * Copyright (C) 2013-2024 SteVe Community Team
+ * Copyright (C) 2013-2025 SteVe Community Team
* All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/main/resources/config/dev/main.properties b/src/main/resources/config/dev/main.properties
index 30ca40c86..765f32919 100644
--- a/src/main/resources/config/dev/main.properties
+++ b/src/main/resources/config/dev/main.properties
@@ -2,7 +2,7 @@
# since there might be already configured chargepoints expecting the older path.
# Otherwise, might as well be changed to something else or be left empty.
#
-context.path = steve
+context.path =
# Database configuration
#
diff --git a/src/main/resources/webapp/WEB-INF/views/00-context.jsp b/src/main/resources/webapp/WEB-INF/views/00-context.jsp
index 7dda067e7..5305918d0 100644
--- a/src/main/resources/webapp/WEB-INF/views/00-context.jsp
+++ b/src/main/resources/webapp/WEB-INF/views/00-context.jsp
@@ -1,7 +1,7 @@
<%--
SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- Copyright (C) 2013-2024 SteVe Community Team
+ Copyright (C) 2013-2025 SteVe Community Team
All Rights Reserved.
This program is free software: you can redistribute it and/or modify
diff --git a/src/main/resources/webapp/WEB-INF/views/00-cp-multiple.jsp b/src/main/resources/webapp/WEB-INF/views/00-cp-multiple.jsp
index 20df1970a..1672313e3 100644
--- a/src/main/resources/webapp/WEB-INF/views/00-cp-multiple.jsp
+++ b/src/main/resources/webapp/WEB-INF/views/00-cp-multiple.jsp
@@ -1,7 +1,7 @@
<%--
SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
- Copyright (C) 2013-2024 SteVe Community Team
+ Copyright (C) 2013-2025 SteVe Community Team
All Rights Reserved.
This program is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@