Kaynağa Gözat

- Included EXIficient library and according xml parser libraries (see shared/libs) as EXIficient's license finally changed from GPLv2 to MIT (MIT is compatible with EPL v1). Uncommented EXIficientCodec.java file. You now can quickly switch between EXIficientCodec and OpenEXI coded by (un)commenting the respective line in MessageHandler.java.
- A failed verification of received sales tariff (in ChargeParameterDiscoveryRes) does not lead any more to the termination of the communication session, but to just ignoring the sales tariff so that the charge process itself can still continue.
- Additional check if TLS is used when selecting a payment option from the offered list of payment options. If the SECC is offering a contract-based payment although no TLS is used (in this case the SECC shall not offer contract-based payment after all), the EVCC will not select 'CONTRACT' any more but 'EIM' instead.
- The received private key of the contract certificate (upon receipt of CertificateInstallationRes/CertificateUpdateRes) is first checked according to [V2G2-823] before saving the private key. If the check fails, the contract certificate and private key will not be safed (BUT: check is not complete, additional help with ECC mechanisms might be needed).
- All other files: Just the slight modification of the copyright header (which has been done in the master branch, but not the developer branch)

Marc Mültin 9 yıl önce
ebeveyn
işleme
fe7aebdca4
100 değiştirilmiş dosya ile 510 ekleme ve 395 silme
  1. 10 0
      RISE-V2G-Certificates/generateCertificates.sh
  2. 2 2
      RISE-V2G-EVCC/EVCCConfig.properties
  3. 5 3
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/evController/DummyEVController.java
  4. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/evController/IACEVController.java
  5. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/evController/IDCEVController.java
  6. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/evController/IEVController.java
  7. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/main/StartEVCC.java
  8. 2 4
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/session/V2GCommunicationSessionEVCC.java
  9. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/session/V2GCommunicationSessionHandlerEVCC.java
  10. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/ClientState.java
  11. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForAuthorizationRes.java
  12. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForCableCheckRes.java
  13. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForCertificateInstallationRes.java
  14. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForCertificateUpdateRes.java
  15. 26 6
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForChargeParameterDiscoveryRes.java
  16. 10 4
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForChargingStatusRes.java
  17. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForCurrentDemandRes.java
  18. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForMeteringReceiptRes.java
  19. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForPaymentDetailsRes.java
  20. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForPaymentServiceSelectionRes.java
  21. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForPowerDeliveryRes.java
  22. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForPreChargeRes.java
  23. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForServiceDetailRes.java
  24. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForServiceDiscoveryRes.java
  25. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForSessionSetupRes.java
  26. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForSessionStopRes.java
  27. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForSupportedAppProtocolRes.java
  28. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForWeldingDetectionRes.java
  29. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/transportLayer/StatefulTransportLayerClient.java
  30. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/transportLayer/TCPClient.java
  31. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/transportLayer/TLSClient.java
  32. 2 2
      RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/transportLayer/UDPClient.java
  33. 2 2
      RISE-V2G-SECC/SECCConfig.properties
  34. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/backend/DummyBackendInterface.java
  35. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/backend/IBackendInterface.java
  36. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/evseController/DummyACEVSEController.java
  37. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/evseController/DummyDCEVSEController.java
  38. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/evseController/IACEVSEController.java
  39. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/evseController/IDCEVSEController.java
  40. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/evseController/IEVSEController.java
  41. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/main/StartSECC.java
  42. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/session/V2GCommunicationSessionHandlerSECC.java
  43. 14 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/session/V2GCommunicationSessionSECC.java
  44. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/ForkState.java
  45. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/ServerState.java
  46. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForAuthorizationReq.java
  47. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForCableCheckReq.java
  48. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForCertificateInstallationReq.java
  49. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForCertificateUpdateReq.java
  50. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForChargeParameterDiscoveryReq.java
  51. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForChargingStatusReq.java
  52. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForCurrentDemandReq.java
  53. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForMeteringReceiptReq.java
  54. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForPaymentDetailsReq.java
  55. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForPaymentServiceSelectionReq.java
  56. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForPowerDeliveryReq.java
  57. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForPreChargeReq.java
  58. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForServiceDetailReq.java
  59. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForServiceDiscoveryReq.java
  60. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForSessionSetupReq.java
  61. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForSessionStopReq.java
  62. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForSupportedAppProtocolReq.java
  63. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForWeldingDetectionReq.java
  64. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/transportLayer/ConnectionHandler.java
  65. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/transportLayer/StatefulTransportLayerServer.java
  66. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/transportLayer/TCPServer.java
  67. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/transportLayer/TLSServer.java
  68. 2 2
      RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/transportLayer/UDPServer.java
  69. BIN
      RISE-V2G-Shared/libs/exificient.jar
  70. BIN
      RISE-V2G-Shared/libs/xercesImpl.jar
  71. BIN
      RISE-V2G-Shared/libs/xml-apis.jar
  72. 5 0
      RISE-V2G-Shared/pom.xml
  73. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/enumerations/CPStates.java
  74. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/enumerations/GlobalTypes.java
  75. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/enumerations/GlobalValues.java
  76. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/enumerations/MessageSets.java
  77. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/enumerations/V2GMessages.java
  78. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/exiCodec/EXISchemaFactoryExceptionHandler.java
  79. 184 180
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/exiCodec/EXIficientCodec.java
  80. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/exiCodec/ExiCodec.java
  81. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/exiCodec/OpenEXICodec.java
  82. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/exiCodec/XSDResolver.java
  83. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/messageHandling/ChangeProcessingState.java
  84. 15 5
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/messageHandling/MessageHandler.java
  85. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/messageHandling/PauseSession.java
  86. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/messageHandling/ReactionToIncomingMessage.java
  87. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/messageHandling/SendMessage.java
  88. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/messageHandling/TerminateSession.java
  89. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/misc/State.java
  90. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/misc/TimeRestrictions.java
  91. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/misc/V2GCommunicationSession.java
  92. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/misc/V2GTPMessage.java
  93. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/utils/ByteUtils.java
  94. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/utils/MiscUtils.java
  95. 65 17
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/utils/SecurityUtils.java
  96. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/v2gMessages/SECCDiscoveryReq.java
  97. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/v2gMessages/SECCDiscoveryRes.java
  98. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/v2gMessages/appProtocol/AppProtocolType.java
  99. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/v2gMessages/appProtocol/ObjectFactory.java
  100. 2 2
      RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/v2gMessages/appProtocol/ResponseCodeType.java

+ 10 - 0
RISE-V2G-Certificates/generateCertificates.sh

@@ -1,3 +1,13 @@
+#*******************************************************************************
+#  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
+#  All rights reserved. This program and the accompanying materials
+#  are made available under the terms of the Eclipse Public License v1.0
+#  which accompanies this distribution, and is available at
+#  http://www.eclipse.org/legal/epl-v10.html
+#
+#  Contributors:
+#    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
+#*******************************************************************************
 # This shell script can be used to create all necessary certificates and keystores needed in order to
 # This shell script can be used to create all necessary certificates and keystores needed in order to
 # - successfully perform a TLS handshake between the EVCC (TLSClient) and the SECC (TLSServer) and 
 # - successfully perform a TLS handshake between the EVCC (TLSClient) and the SECC (TLSServer) and 
 # - install/update a contract certificate in the EVCC.
 # - install/update a contract certificate in the EVCC.

+ 2 - 2
RISE-V2G-EVCC/EVCCConfig.properties

@@ -1,12 +1,12 @@
 ###############################################################################
 ###############################################################################
-#  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+#  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
 #  All rights reserved. This program and the accompanying materials
 #  All rights reserved. This program and the accompanying materials
 #  are made available under the terms of the Eclipse Public License v1.0
 #  are made available under the terms of the Eclipse Public License v1.0
 #  which accompanies this distribution, and is available at
 #  which accompanies this distribution, and is available at
 #  http://www.eclipse.org/legal/epl-v10.html
 #  http://www.eclipse.org/legal/epl-v10.html
 #
 #
 #  Contributors:
 #  Contributors:
-#    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+#    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
 ###############################################################################
 ###############################################################################
 # ===========================================================
 # ===========================================================
 # Configuration properties for a unique electric vehicle (EV)
 # Configuration properties for a unique electric vehicle (EV)

+ 5 - 3
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/evController/DummyEVController.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.evController;
 package org.eclipse.risev2g.evcc.evController;
 
 
@@ -48,7 +48,9 @@ public class DummyEVController implements IACEVController, IDCEVController {
 	
 	
 	@Override
 	@Override
 	public PaymentOptionType getPaymentOption(PaymentOptionListType paymentOptionsOffered) {
 	public PaymentOptionType getPaymentOption(PaymentOptionListType paymentOptionsOffered) {
-		if (paymentOptionsOffered.getPaymentOption().contains(PaymentOptionType.CONTRACT))
+		// Contract payment option may only be chosen if offered by SECC AND if communication is secured by TLS
+		if (paymentOptionsOffered.getPaymentOption().contains(PaymentOptionType.CONTRACT) && 
+			getCommSessionContext().isSecureCommunication())
 			return PaymentOptionType.CONTRACT; 
 			return PaymentOptionType.CONTRACT; 
 		else 
 		else 
 			return PaymentOptionType.EXTERNAL_PAYMENT;
 			return PaymentOptionType.EXTERNAL_PAYMENT;

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/evController/IACEVController.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.evController;
 package org.eclipse.risev2g.evcc.evController;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/evController/IDCEVController.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.evController;
 package org.eclipse.risev2g.evcc.evController;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/evController/IEVController.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.evController;
 package org.eclipse.risev2g.evcc.evController;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/main/StartEVCC.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.main;
 package org.eclipse.risev2g.evcc.main;
 
 

+ 2 - 4
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/session/V2GCommunicationSessionEVCC.java

@@ -1,16 +1,15 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.session;
 package org.eclipse.risev2g.evcc.session;
 
 
-import java.security.cert.X509Certificate;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.Observable;
 import java.util.Observable;
@@ -49,7 +48,6 @@ import org.eclipse.risev2g.shared.messageHandling.SendMessage;
 import org.eclipse.risev2g.shared.messageHandling.TerminateSession;
 import org.eclipse.risev2g.shared.messageHandling.TerminateSession;
 import org.eclipse.risev2g.shared.misc.V2GCommunicationSession;
 import org.eclipse.risev2g.shared.misc.V2GCommunicationSession;
 import org.eclipse.risev2g.shared.misc.V2GTPMessage;
 import org.eclipse.risev2g.shared.misc.V2GTPMessage;
-import org.eclipse.risev2g.shared.utils.SecurityUtils;
 import org.eclipse.risev2g.shared.v2gMessages.appProtocol.AppProtocolType;
 import org.eclipse.risev2g.shared.v2gMessages.appProtocol.AppProtocolType;
 import org.eclipse.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolRes;
 import org.eclipse.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolRes;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryReqType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryReqType;

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/session/V2GCommunicationSessionHandlerEVCC.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.session;
 package org.eclipse.risev2g.evcc.session;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/ClientState.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForAuthorizationRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForCableCheckRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForCertificateInstallationRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForCertificateUpdateRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 26 - 6
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForChargeParameterDiscoveryRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 
@@ -77,9 +77,13 @@ public class WaitForChargeParameterDiscoveryRes extends ClientState {
 					
 					
 					SAScheduleListType saSchedules = (SAScheduleListType) chargeParameterDiscoveryRes.getSASchedules().getValue();
 					SAScheduleListType saSchedules = (SAScheduleListType) chargeParameterDiscoveryRes.getSASchedules().getValue();
 					
 					
-					// Verify each sales tariff with the mobility operator sub 2 certificate
-					if (saSchedules != null && !verifySalesTariffs(saSchedules, v2gMessageRes.getHeader().getSignature()))
-						return new TerminateSession("Verification of sales tariffs failed");
+					// If TLS is used, verify each sales tariff (if present) with the mobility operator sub 2 certificate
+					if (getCommSessionContext().isSecureCommunication() && saSchedules != null) {
+						if (!verifySalesTariffs(saSchedules, v2gMessageRes.getHeader().getSignature()))
+							getLogger().warn("Verification of sales tariffs failed. They are therefore ignored in the "
+										   + "charge process.");
+							deleteUnverifiedSalesTariffs(saSchedules);
+					}
 					
 					
 					// Save the list of SASchedules (saves the time of reception as well)
 					// Save the list of SASchedules (saves the time of reception as well)
 					getCommSessionContext().setSaSchedules(saSchedules);
 					getCommSessionContext().setSaSchedules(saSchedules);
@@ -132,7 +136,7 @@ public class WaitForChargeParameterDiscoveryRes extends ClientState {
 			X509Certificate moSub2Certificate = SecurityUtils.getMOSub2Certificate(
 			X509Certificate moSub2Certificate = SecurityUtils.getMOSub2Certificate(
 													GlobalValues.EVCC_KEYSTORE_FILEPATH.toString());
 													GlobalValues.EVCC_KEYSTORE_FILEPATH.toString());
 			if (moSub2Certificate == null) {
 			if (moSub2Certificate == null) {
-				getLogger().error("No MOSub2Certificate found");
+				getLogger().warn("No MOSub2Certificate found.");
 				return false;
 				return false;
 			} else {
 			} else {
 				ECPublicKey ecPublicKey = (ECPublicKey) moSub2Certificate.getPublicKey();
 				ECPublicKey ecPublicKey = (ECPublicKey) moSub2Certificate.getPublicKey();
@@ -144,4 +148,20 @@ public class WaitForChargeParameterDiscoveryRes extends ClientState {
 		
 		
 		return true;
 		return true;
 	}
 	}
+	
+	/**
+	 * If the signature of one ore more sales tariffs cannot be verified, then the sales tariffs should be ignored
+	 * rather than terminating the charge process. The charge process can then proceed based solely on the 
+	 * PMaxSchedule
+	 * 
+	 * @param saSchedules The schedule(s) from the secondary actor including PMaxSchedule and potential SalesTariff
+	 * 					  elements.
+	 */
+	private void deleteUnverifiedSalesTariffs(SAScheduleListType saSchedules) {
+		List<SAScheduleTupleType> saScheduleTuples = saSchedules.getSAScheduleTuple();
+		
+		for (SAScheduleTupleType saScheduleTuple : saScheduleTuples) {
+			saScheduleTuple.setSalesTariff(null);
+		}
+	}
 }
 }

+ 10 - 4
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForChargingStatusRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 
@@ -35,8 +35,14 @@ public class WaitForChargingStatusRes extends ClientState {
 			ChargingStatusResType chargingStatusRes = 
 			ChargingStatusResType chargingStatusRes = 
 					(ChargingStatusResType) v2gMessageRes.getBody().getBodyElement().getValue();
 					(ChargingStatusResType) v2gMessageRes.getBody().getBodyElement().getValue();
 		
 		
-			// ReceiptRequired has higher priority than a possible EVSENotification=Renegotiate
-			if (chargingStatusRes.isReceiptRequired()) {
+			/*
+			 * ReceiptRequired has higher priority than a possible EVSENotification=Renegotiate
+			 * 
+			 * Check if communication is secured with TLS before reacting upon a possible request from the SECC to send
+			 * a MeteringReceiptRequest. If no TLS is used, a MeteringReceiptRequest may not be sent because
+			 * a signature cannot be applied without private key of the contract certificate.
+			 */
+			if (chargingStatusRes.isReceiptRequired() && getCommSessionContext().isSecureCommunication()) {
 				MeteringReceiptReqType meteringReceiptReq = new MeteringReceiptReqType();
 				MeteringReceiptReqType meteringReceiptReq = new MeteringReceiptReqType();
 				meteringReceiptReq.setId("meteringReceiptReq");
 				meteringReceiptReq.setId("meteringReceiptReq");
 				meteringReceiptReq.setMeterInfo(chargingStatusRes.getMeterInfo());
 				meteringReceiptReq.setMeterInfo(chargingStatusRes.getMeterInfo());

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForCurrentDemandRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForMeteringReceiptRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForPaymentDetailsRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForPaymentServiceSelectionRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForPowerDeliveryRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForPreChargeRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForServiceDetailRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForServiceDiscoveryRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForSessionSetupRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForSessionStopRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForSupportedAppProtocolRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/states/WaitForWeldingDetectionRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.states;
 package org.eclipse.risev2g.evcc.states;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/transportLayer/StatefulTransportLayerClient.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.transportLayer;
 package org.eclipse.risev2g.evcc.transportLayer;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/transportLayer/TCPClient.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.transportLayer;
 package org.eclipse.risev2g.evcc.transportLayer;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/transportLayer/TLSClient.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.transportLayer;
 package org.eclipse.risev2g.evcc.transportLayer;
 
 

+ 2 - 2
RISE-V2G-EVCC/src/main/java/org/eclipse/risev2g/evcc/transportLayer/UDPClient.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.evcc.transportLayer;
 package org.eclipse.risev2g.evcc.transportLayer;
 
 

+ 2 - 2
RISE-V2G-SECC/SECCConfig.properties

@@ -1,12 +1,12 @@
 ###############################################################################
 ###############################################################################
-#  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+#  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
 #  All rights reserved. This program and the accompanying materials
 #  All rights reserved. This program and the accompanying materials
 #  are made available under the terms of the Eclipse Public License v1.0
 #  are made available under the terms of the Eclipse Public License v1.0
 #  which accompanies this distribution, and is available at
 #  which accompanies this distribution, and is available at
 #  http://www.eclipse.org/legal/epl-v10.html
 #  http://www.eclipse.org/legal/epl-v10.html
 #
 #
 #  Contributors:
 #  Contributors:
-#    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+#    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
 ###############################################################################
 ###############################################################################
 # ==============================================================================
 # ==============================================================================
 # Configuration properties for a unique electric vehicle supply equipment (EVSE)
 # Configuration properties for a unique electric vehicle supply equipment (EVSE)

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/backend/DummyBackendInterface.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.backend;
 package org.eclipse.risev2g.secc.backend;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/backend/IBackendInterface.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.backend;
 package org.eclipse.risev2g.secc.backend;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/evseController/DummyACEVSEController.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.evseController;
 package org.eclipse.risev2g.secc.evseController;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/evseController/DummyDCEVSEController.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.evseController;
 package org.eclipse.risev2g.secc.evseController;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/evseController/IACEVSEController.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.evseController;
 package org.eclipse.risev2g.secc.evseController;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/evseController/IDCEVSEController.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.evseController;
 package org.eclipse.risev2g.secc.evseController;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/evseController/IEVSEController.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.evseController;
 package org.eclipse.risev2g.secc.evseController;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/main/StartSECC.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.main;
 package org.eclipse.risev2g.secc.main;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/session/V2GCommunicationSessionHandlerSECC.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.session;
 package org.eclipse.risev2g.secc.session;
 
 

+ 14 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/session/V2GCommunicationSessionSECC.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.session;
 package org.eclipse.risev2g.secc.session;
 
 
@@ -60,6 +60,7 @@ import org.eclipse.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.MessageHeaderType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.MessageHeaderType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.PMaxScheduleType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.PMaxScheduleType;
+import org.eclipse.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.ServiceType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.ServiceType;
@@ -84,6 +85,7 @@ public class V2GCommunicationSessionSECC extends V2GCommunicationSession impleme
 	private byte[] genChallenge;
 	private byte[] genChallenge;
 	private SAScheduleListType saSchedules;
 	private SAScheduleListType saSchedules;
 	private EnergyTransferModeType requestedEnergyTransferMode;
 	private EnergyTransferModeType requestedEnergyTransferMode;
+	private PaymentOptionType selectedPaymentOption;
 	private CertificateChainType contractSignatureCertChain;
 	private CertificateChainType contractSignatureCertChain;
 	private MeterInfoType sentMeterInfo;
 	private MeterInfoType sentMeterInfo;
 	private boolean tlsConnection;
 	private boolean tlsConnection;
@@ -458,4 +460,14 @@ public class V2GCommunicationSessionSECC extends V2GCommunicationSession impleme
 	public void setTlsConnection(boolean tlsConnection) {
 	public void setTlsConnection(boolean tlsConnection) {
 		this.tlsConnection = tlsConnection;
 		this.tlsConnection = tlsConnection;
 	}
 	}
+
+
+	public PaymentOptionType getSelectedPaymentOption() {
+		return selectedPaymentOption;
+	}
+
+
+	public void setSelectedPaymentOption(PaymentOptionType selectedPaymentOption) {
+		this.selectedPaymentOption = selectedPaymentOption;
+	}
 }
 }

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/ForkState.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/ServerState.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForAuthorizationReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForCableCheckReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForCertificateInstallationReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForCertificateUpdateReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForChargeParameterDiscoveryReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForChargingStatusReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForCurrentDemandReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForMeteringReceiptReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForPaymentDetailsReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForPaymentServiceSelectionReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForPowerDeliveryReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForPreChargeReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForServiceDetailReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForServiceDiscoveryReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForSessionSetupReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForSessionStopReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForSupportedAppProtocolReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/states/WaitForWeldingDetectionReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.states;
 package org.eclipse.risev2g.secc.states;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/transportLayer/ConnectionHandler.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.transportLayer;
 package org.eclipse.risev2g.secc.transportLayer;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/transportLayer/StatefulTransportLayerServer.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.transportLayer;
 package org.eclipse.risev2g.secc.transportLayer;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/transportLayer/TCPServer.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.transportLayer;
 package org.eclipse.risev2g.secc.transportLayer;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/transportLayer/TLSServer.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.transportLayer;
 package org.eclipse.risev2g.secc.transportLayer;
 
 

+ 2 - 2
RISE-V2G-SECC/src/main/java/org/eclipse/risev2g/secc/transportLayer/UDPServer.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.secc.transportLayer;
 package org.eclipse.risev2g.secc.transportLayer;
 
 

BIN
RISE-V2G-Shared/libs/exificient.jar


BIN
RISE-V2G-Shared/libs/xercesImpl.jar


BIN
RISE-V2G-Shared/libs/xml-apis.jar


+ 5 - 0
RISE-V2G-Shared/pom.xml

@@ -21,6 +21,11 @@
 	</repositories>
 	</repositories>
 	
 	
 	<dependencies>
 	<dependencies>
+		<dependency>
+		    <groupId>com.siemens.ct.exi</groupId>
+		    <artifactId>exificient</artifactId>
+		    <version>0.9.6</version>
+		</dependency>
 		<dependency>
 		<dependency>
 			<groupId>xerces</groupId>
 			<groupId>xerces</groupId>
 			<artifactId>xercesImpl</artifactId>
 			<artifactId>xercesImpl</artifactId>

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/enumerations/CPStates.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.enumerations;
 package org.eclipse.risev2g.shared.enumerations;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/enumerations/GlobalTypes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.enumerations;
 package org.eclipse.risev2g.shared.enumerations;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/enumerations/GlobalValues.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.enumerations;
 package org.eclipse.risev2g.shared.enumerations;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/enumerations/MessageSets.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.enumerations;
 package org.eclipse.risev2g.shared.enumerations;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/enumerations/V2GMessages.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.enumerations;
 package org.eclipse.risev2g.shared.enumerations;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/exiCodec/EXISchemaFactoryExceptionHandler.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.exiCodec;
 package org.eclipse.risev2g.shared.exiCodec;
 
 

+ 184 - 180
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/exiCodec/EXIficientCodec.java

@@ -1,192 +1,196 @@
 package org.eclipse.risev2g.shared.exiCodec;
 package org.eclipse.risev2g.shared.exiCodec;
 
 
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 
 
 
 
-//import java.io.ByteArrayInputStream;
-//import java.io.ByteArrayOutputStream;
-//import java.io.IOException;
-//import java.io.InputStream;
-//import java.io.OutputStream;
-//import java.io.StringWriter;
-//import javax.xml.transform.Transformer;
-//import javax.xml.transform.TransformerConfigurationException;
-//import javax.xml.transform.TransformerException;
-//import javax.xml.transform.TransformerFactory;
-//import javax.xml.transform.sax.SAXSource;
-//import javax.xml.transform.stream.StreamResult;
-//import org.eclipse.risev2g.shared.enumerations.GlobalValues;
-//import org.xml.sax.InputSource;
-//import org.xml.sax.SAXException;
-//import org.xml.sax.XMLReader;
-//import org.xml.sax.helpers.XMLReaderFactory;
-//import com.siemens.ct.exi.EXIFactory;
-//import com.siemens.ct.exi.GrammarFactory;
-//import com.siemens.ct.exi.api.sax.EXIResult;
-//import com.siemens.ct.exi.api.sax.EXISource;
-//import com.siemens.ct.exi.exceptions.EXIException;
-//import com.siemens.ct.exi.grammars.Grammars;
-//import com.siemens.ct.exi.helpers.DefaultEXIFactory;
-//
-//public final class EXIficientCodec extends ExiCodec {
-//	// -- BEGIN: SINGLETON DEFINITION --
-//	/*
-//	 *  Eager instantiation of the singleton, since a EXIficientCodec is always needed. 
-//	 *  The JVM creates the unique instance when the class is loaded and before any thread tries to 
-//	 *  access the instance variable -> thread safe.
-//	 */
-//	private static final EXIficientCodec instance = new EXIficientCodec();
-//	
-//	private EXIFactory exiFactory;
-//	private GrammarFactory grammarFactory;
-//	private Grammars grammarAppProtocol;
-//	private Grammars grammarMsgDef;
-//	private OutputStream encodeOS;
-//	
-//	private EXIficientCodec() {
-//		super();
-//		
-//		setExiFactory(DefaultEXIFactory.newInstance());
-//		getExiFactory().setValuePartitionCapacity(0);
-//		setGrammarFactory(GrammarFactory.newInstance());
-//		
-//		/*
-//		 *  The supportedAppProtocolReq and -Res message have a different schema than the rest
-//		 *  of the V2G application layer messages
-//		 */
-//		try {
-//			setGrammarAppProtocol(getGrammarFactory().createGrammars(
-//					getClass().getResourceAsStream(GlobalValues.SCHEMA_PATH_APP_PROTOCOL.toString())));
-//			setGrammarMsgDef(getGrammarFactory().createGrammars(
-//					getClass().getResourceAsStream(GlobalValues.SCHEMA_PATH_MSG_DEF.toString()),
-//					XSDResolver.getInstance()));
-//		} catch (EXIException e) {
-//			getLogger().error("Error occurred while trying to initialize EXIficientCodec (EXIException)!", e);
-//		}
-//	}
-//	
-//	public static EXIficientCodec getInstance() {
-//		return instance;
-//	}
-//	// -- END: SINGLETON DEFINITION --
-//	
-//
-//
-//	
-//	public synchronized byte[] encodeEXI(Object jaxbObject, boolean supportedAppProtocolHandshake) {
-//		InputStream inStream = marshalToInputStream(jaxbObject);
-//		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-//		baos = ((ByteArrayOutputStream) encode(inStream, supportedAppProtocolHandshake));
-//		
-//		return baos.toByteArray();
-//	}
-//
-//	
-//	private synchronized OutputStream encode(InputStream jaxbXML, boolean supportedAppProtocolHandshake) {
-//		if (supportedAppProtocolHandshake) return encode(jaxbXML, getGrammarAppProtocol());
-//		else return encode(jaxbXML, getGrammarMsgDef());
-//	}
-//	
-//	
-//	private synchronized OutputStream encode(InputStream jaxbXML, Grammars grammar) {
-//		EXIResult exiResult = null;
-//		
-//		try {
-//			exiFactory.setGrammars(grammar);
-//			encodeOS = new ByteArrayOutputStream();
-//			exiResult = new EXIResult(exiFactory);
-//			exiResult.setOutputStream(encodeOS);
-//			XMLReader xmlReader = XMLReaderFactory.createXMLReader();
-//			xmlReader.setContentHandler(exiResult.getHandler());
-//
-//			// parse xml file
-//			xmlReader.parse(new InputSource(jaxbXML));
-//			
-//			encodeOS.close();
-//		} catch (SAXException | IOException | EXIException e) {
-//			getLogger().error(e.getClass().getSimpleName() + " occurred while trying to encode", e);
-//		}  
-//		
-//		return encodeOS;
-//	}
-//	
-//	
-//	@Override
-//	public synchronized Object decodeEXI(byte[] exiEncodedMessage, boolean supportedAppProtocolHandshake) {
-//		ByteArrayInputStream bais = new ByteArrayInputStream(exiEncodedMessage);
-//		setDecodedExi(decode(bais, supportedAppProtocolHandshake));
-//		
-//		return unmarshallToMessage(getDecodedExi());
-//	}
-//	
-//	
-//	private synchronized String decode(InputStream exiInputStream, boolean supportedAppProtocolHandshake) {
-//		TransformerFactory tf = TransformerFactory.newInstance();
-//		Transformer transformer = null;
-//		StringWriter stringWriter = new StringWriter();
-//
-//		try {
-//			transformer = tf.newTransformer();
-//		} catch (TransformerConfigurationException e) {
-//			getLogger().error("Error occurred while trying to decode (TransformerConfigurationException)", e);
-//		}
-//		
-//		if (supportedAppProtocolHandshake) exiFactory.setGrammars(grammarAppProtocol);
-//		else exiFactory.setGrammars(grammarMsgDef);
-//		
-//		try {
-//			EXISource saxSource = new EXISource(exiFactory);
-//			SAXSource exiSource = new SAXSource(new InputSource(exiInputStream));
-//			XMLReader exiReader = saxSource.getXMLReader();
-//			exiSource.setXMLReader(exiReader);
-//			transformer.transform(exiSource, new StreamResult(stringWriter));
-//		} catch (EXIException e) {
-//			getLogger().error("Error occurred while trying to decode (EXIException)", e);
-//		} catch (TransformerException e) {
-//			getLogger().error("Error occurred while trying to decode (TransformerException)", e);
-//		}
-//		
-//		return stringWriter.toString();
-//	}
-//
-//	private Grammars getGrammarAppProtocol() {
-//		return grammarAppProtocol;
-//	}
-//
-//	private void setGrammarAppProtocol(Grammars grammarAppProtocol) {
-//		this.grammarAppProtocol = grammarAppProtocol;
-//	}
-//
-//	private Grammars getGrammarMsgDef() {
-//		return grammarMsgDef;
-//	}
-//
-//	private void setGrammarMsgDef(Grammars grammarMsgDef) {
-//		this.grammarMsgDef = grammarMsgDef;
-//	}
-//
-//	private EXIFactory getExiFactory() {
-//		return exiFactory;
-//	}
-//
-//	private void setExiFactory(EXIFactory exiFactory) {
-//		this.exiFactory = exiFactory;
-//	}
-//
-//	private GrammarFactory getGrammarFactory() {
-//		return grammarFactory;
-//	}
-//
-//	private void setGrammarFactory(GrammarFactory grammarFactory) {
-//		this.grammarFactory = grammarFactory;
-//	}
-//}
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.StringWriter;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.sax.SAXSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.eclipse.risev2g.shared.enumerations.GlobalValues;
+import org.eclipse.risev2g.shared.utils.ByteUtils;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.XMLReaderFactory;
+
+import com.siemens.ct.exi.EXIFactory;
+import com.siemens.ct.exi.GrammarFactory;
+import com.siemens.ct.exi.api.sax.EXIResult;
+import com.siemens.ct.exi.api.sax.EXISource;
+import com.siemens.ct.exi.exceptions.EXIException;
+import com.siemens.ct.exi.grammars.Grammars;
+import com.siemens.ct.exi.helpers.DefaultEXIFactory;
+
+public final class EXIficientCodec extends ExiCodec {
+	// -- BEGIN: SINGLETON DEFINITION --
+	/*
+	 *  Eager instantiation of the singleton, since a EXIficientCodec is always needed. 
+	 *  The JVM creates the unique instance when the class is loaded and before any thread tries to 
+	 *  access the instance variable -> thread safe.
+	 */
+	private static final EXIficientCodec instance = new EXIficientCodec();
+	
+	private EXIFactory exiFactory;
+	private GrammarFactory grammarFactory;
+	private Grammars grammarAppProtocol;
+	private Grammars grammarMsgDef;
+	private OutputStream encodeOS;
+	
+	private EXIficientCodec() {
+		super();
+		
+		setExiFactory(DefaultEXIFactory.newInstance());
+		getExiFactory().setValuePartitionCapacity(0);
+		setGrammarFactory(GrammarFactory.newInstance());
+		
+		/*
+		 *  The supportedAppProtocolReq and -Res message have a different schema than the rest
+		 *  of the V2G application layer messages
+		 */
+		try {
+			setGrammarAppProtocol(getGrammarFactory().createGrammars(
+					getClass().getResourceAsStream(GlobalValues.SCHEMA_PATH_APP_PROTOCOL.toString())));
+			setGrammarMsgDef(getGrammarFactory().createGrammars(
+					getClass().getResourceAsStream(GlobalValues.SCHEMA_PATH_MSG_DEF.toString()),
+					XSDResolver.getInstance()));
+		} catch (EXIException e) {
+			getLogger().error("Error occurred while trying to initialize EXIficientCodec (EXIException)!", e);
+		}
+	}
+	
+	public static EXIficientCodec getInstance() {
+		return instance;
+	}
+	// -- END: SINGLETON DEFINITION --
+	
+
+
+	
+	public synchronized byte[] encodeEXI(Object jaxbObject, boolean supportedAppProtocolHandshake) {
+		InputStream inStream = marshalToInputStream(jaxbObject);
+		ByteArrayOutputStream baos = new ByteArrayOutputStream();
+		baos = ((ByteArrayOutputStream) encode(inStream, supportedAppProtocolHandshake));
+		
+		return baos.toByteArray();
+	}
+
+	
+	private synchronized OutputStream encode(InputStream jaxbXML, boolean supportedAppProtocolHandshake) {
+		if (supportedAppProtocolHandshake) return encode(jaxbXML, getGrammarAppProtocol());
+		else return encode(jaxbXML, getGrammarMsgDef());
+	}
+	
+	
+	private synchronized OutputStream encode(InputStream jaxbXML, Grammars grammar) {
+		EXIResult exiResult = null;
+		
+		try {
+			exiFactory.setGrammars(grammar);
+			encodeOS = new ByteArrayOutputStream();
+			exiResult = new EXIResult(exiFactory);
+			exiResult.setOutputStream(encodeOS);
+			XMLReader xmlReader = XMLReaderFactory.createXMLReader();
+			xmlReader.setContentHandler(exiResult.getHandler());
+
+			// parse xml file
+			xmlReader.parse(new InputSource(jaxbXML));
+			
+			encodeOS.close();
+		} catch (SAXException | IOException | EXIException e) {
+			getLogger().error(e.getClass().getSimpleName() + " occurred while trying to encode", e);
+		}  
+		
+		return encodeOS;
+	}
+	
+	
+	@Override
+	public synchronized Object decodeEXI(byte[] exiEncodedMessage, boolean supportedAppProtocolHandshake) {
+		ByteArrayInputStream bais = new ByteArrayInputStream(exiEncodedMessage);
+		setDecodedExi(decode(bais, supportedAppProtocolHandshake));
+		
+		return unmarshallToMessage(getDecodedExi());
+	}
+	
+	
+	private synchronized String decode(InputStream exiInputStream, boolean supportedAppProtocolHandshake) {
+		TransformerFactory tf = TransformerFactory.newInstance();
+		Transformer transformer = null;
+		StringWriter stringWriter = new StringWriter();
+
+		try {
+			transformer = tf.newTransformer();
+		} catch (TransformerConfigurationException e) {
+			getLogger().error("Error occurred while trying to decode (TransformerConfigurationException)", e);
+		}
+		
+		if (supportedAppProtocolHandshake) exiFactory.setGrammars(grammarAppProtocol);
+		else exiFactory.setGrammars(grammarMsgDef);
+		
+		try {
+			EXISource saxSource = new EXISource(exiFactory);
+			SAXSource exiSource = new SAXSource(new InputSource(exiInputStream));
+			XMLReader exiReader = saxSource.getXMLReader();
+			exiSource.setXMLReader(exiReader);
+			transformer.transform(exiSource, new StreamResult(stringWriter));
+		} catch (EXIException e) {
+			getLogger().error("Error occurred while trying to decode (EXIException)", e);
+		} catch (TransformerException e) {
+			getLogger().error("Error occurred while trying to decode (TransformerException)", e);
+		}
+		
+		return stringWriter.toString();
+	}
+
+	private Grammars getGrammarAppProtocol() {
+		return grammarAppProtocol;
+	}
+
+	private void setGrammarAppProtocol(Grammars grammarAppProtocol) {
+		this.grammarAppProtocol = grammarAppProtocol;
+	}
+
+	private Grammars getGrammarMsgDef() {
+		return grammarMsgDef;
+	}
+
+	private void setGrammarMsgDef(Grammars grammarMsgDef) {
+		this.grammarMsgDef = grammarMsgDef;
+	}
+
+	private EXIFactory getExiFactory() {
+		return exiFactory;
+	}
+
+	private void setExiFactory(EXIFactory exiFactory) {
+		this.exiFactory = exiFactory;
+	}
+
+	private GrammarFactory getGrammarFactory() {
+		return grammarFactory;
+	}
+
+	private void setGrammarFactory(GrammarFactory grammarFactory) {
+		this.grammarFactory = grammarFactory;
+	}
+}

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/exiCodec/ExiCodec.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.exiCodec;
 package org.eclipse.risev2g.shared.exiCodec;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/exiCodec/OpenEXICodec.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.exiCodec;
 package org.eclipse.risev2g.shared.exiCodec;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/exiCodec/XSDResolver.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.exiCodec;
 package org.eclipse.risev2g.shared.exiCodec;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/messageHandling/ChangeProcessingState.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.messageHandling;
 package org.eclipse.risev2g.shared.messageHandling;
 
 

+ 15 - 5
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/messageHandling/MessageHandler.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.messageHandling;
 package org.eclipse.risev2g.shared.messageHandling;
 
 
@@ -19,11 +19,13 @@ import javax.xml.bind.JAXBElement;
 import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.LogManager;
 import org.eclipse.risev2g.shared.enumerations.GlobalValues;
 import org.eclipse.risev2g.shared.enumerations.GlobalValues;
+import org.eclipse.risev2g.shared.exiCodec.EXIficientCodec;
 import org.eclipse.risev2g.shared.exiCodec.ExiCodec;
 import org.eclipse.risev2g.shared.exiCodec.ExiCodec;
 import org.eclipse.risev2g.shared.exiCodec.OpenEXICodec;
 import org.eclipse.risev2g.shared.exiCodec.OpenEXICodec;
 import org.eclipse.risev2g.shared.misc.V2GCommunicationSession;
 import org.eclipse.risev2g.shared.misc.V2GCommunicationSession;
 import org.eclipse.risev2g.shared.misc.V2GTPMessage;
 import org.eclipse.risev2g.shared.misc.V2GTPMessage;
 import org.eclipse.risev2g.shared.utils.ByteUtils;
 import org.eclipse.risev2g.shared.utils.ByteUtils;
+import org.eclipse.risev2g.shared.utils.MiscUtils;
 import org.eclipse.risev2g.shared.utils.SecurityUtils;
 import org.eclipse.risev2g.shared.utils.SecurityUtils;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.BodyType;
 import org.eclipse.risev2g.shared.v2gMessages.msgDef.BodyType;
@@ -56,8 +58,8 @@ public class MessageHandler {
 	 */
 	 */
 	public MessageHandler() {
 	public MessageHandler() {
 		// Choose which implementation of an EXI codec to use
 		// Choose which implementation of an EXI codec to use
-//		setExiCodec(EXIficientCodec.getInstance());
-		setExiCodec(OpenEXICodec.getInstance());
+		setExiCodec(EXIficientCodec.getInstance());
+//		setExiCodec(OpenEXICodec.getInstance());
 	} 
 	} 
 	
 	
 	public boolean isV2GTPMessageValid(V2GTPMessage v2gTpMessage) {
 	public boolean isV2GTPMessageValid(V2GTPMessage v2gTpMessage) {
@@ -112,7 +114,12 @@ public class MessageHandler {
 	
 	
 
 
 	public synchronized Object v2gMsgToExi(Object jaxbObject) {
 	public synchronized Object v2gMsgToExi(Object jaxbObject) {
-		return getExiCodec().encodeEXI(jaxbObject, false);
+		byte[] encodedEXI = getExiCodec().encodeEXI(jaxbObject, false);
+		
+		// For test purposes you can log the byte array
+//		getLogger().debug("Encoded EXI byte array: " + ByteUtils.toStringFromByteArray(encodedEXI));
+		
+		return encodedEXI;
 	}
 	}
 	
 	
 
 
@@ -121,6 +128,9 @@ public class MessageHandler {
 	}
 	}
 	
 	
 	public synchronized Object exiToV2gMsg(byte[] exiEncodedMessage) {
 	public synchronized Object exiToV2gMsg(byte[] exiEncodedMessage) {
+		// For debugging purposes
+//		getLogger().debug("Hex string of encoded EXI byte array: " + ByteUtils.toHexString(exiEncodedMessage));
+		
 		return getExiCodec().decodeEXI(exiEncodedMessage, false);
 		return getExiCodec().decodeEXI(exiEncodedMessage, false);
 	}
 	}
 	
 	

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/messageHandling/PauseSession.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.messageHandling;
 package org.eclipse.risev2g.shared.messageHandling;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/messageHandling/ReactionToIncomingMessage.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.messageHandling;
 package org.eclipse.risev2g.shared.messageHandling;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/messageHandling/SendMessage.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.messageHandling;
 package org.eclipse.risev2g.shared.messageHandling;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/messageHandling/TerminateSession.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.messageHandling;
 package org.eclipse.risev2g.shared.messageHandling;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/misc/State.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.misc;
 package org.eclipse.risev2g.shared.misc;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/misc/TimeRestrictions.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.misc;
 package org.eclipse.risev2g.shared.misc;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/misc/V2GCommunicationSession.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.misc;
 package org.eclipse.risev2g.shared.misc;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/misc/V2GTPMessage.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.misc;
 package org.eclipse.risev2g.shared.misc;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/utils/ByteUtils.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.utils;
 package org.eclipse.risev2g.shared.utils;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/utils/MiscUtils.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.utils;
 package org.eclipse.risev2g.shared.utils;
 
 

+ 65 - 17
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/utils/SecurityUtils.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.utils;
 package org.eclipse.risev2g.shared.utils;
 
 
@@ -47,6 +47,7 @@ import java.security.interfaces.ECPrivateKey;
 import java.security.interfaces.ECPublicKey;
 import java.security.interfaces.ECPublicKey;
 import java.security.spec.ECGenParameterSpec;
 import java.security.spec.ECGenParameterSpec;
 import java.security.spec.ECParameterSpec;
 import java.security.spec.ECParameterSpec;
+import java.security.spec.ECPoint;
 import java.security.spec.ECPrivateKeySpec;
 import java.security.spec.ECPrivateKeySpec;
 import java.security.spec.InvalidKeySpecException;
 import java.security.spec.InvalidKeySpecException;
 import java.security.spec.InvalidParameterSpecException;
 import java.security.spec.InvalidParameterSpecException;
@@ -615,6 +616,7 @@ public final class SecurityUtils {
 			ECPrivateKeySpec ecPrivateKeySpec = new ECPrivateKeySpec(new BigInteger(privateKeyBytes), ecParameterSpec);
 			ECPrivateKeySpec ecPrivateKeySpec = new ECPrivateKeySpec(new BigInteger(privateKeyBytes), ecParameterSpec);
 			
 			
 			ECPrivateKey privateKey = (ECPrivateKey) KeyFactory.getInstance("EC").generatePrivate(ecPrivateKeySpec);
 			ECPrivateKey privateKey = (ECPrivateKey) KeyFactory.getInstance("EC").generatePrivate(ecPrivateKeySpec);
+			
 			return privateKey;
 			return privateKey;
 		} catch (NoSuchAlgorithmException | InvalidKeySpecException | InvalidParameterSpecException e) {
 		} catch (NoSuchAlgorithmException | InvalidKeySpecException | InvalidParameterSpecException e) {
 			getLogger().error(e.getClass().getSimpleName() + " occurred when trying to get private key from raw bytes", e);
 			getLogger().error(e.getClass().getSimpleName() + " occurred when trying to get private key from raw bytes", e);
@@ -810,24 +812,28 @@ public final class SecurityUtils {
 	public static boolean saveContractCertificateChain(
 	public static boolean saveContractCertificateChain(
 			String keyStorePassword, 
 			String keyStorePassword, 
 			CertificateChainType contractCertChain,
 			CertificateChainType contractCertChain,
-			PrivateKey contractCertPrivateKey) {
+			ECPrivateKey contractCertPrivateKey) {
 		KeyStore keyStore = getKeyStore(GlobalValues.EVCC_KEYSTORE_FILEPATH.toString(), keyStorePassword);
 		KeyStore keyStore = getKeyStore(GlobalValues.EVCC_KEYSTORE_FILEPATH.toString(), keyStorePassword);
 
 
 		try {
 		try {
-			keyStore.setKeyEntry(
-					GlobalValues.ALIAS_CONTRACT_CERTIFICATE.toString(), 
-					contractCertPrivateKey, 
-					keyStorePassword.toCharArray(), 
-					getCertificateChain(contractCertChain)); 
-			
-			// Save the keystore persistently
-			FileOutputStream fos = new FileOutputStream("evccKeystore.jks");
-			keyStore.store(fos, GlobalValues.PASSPHRASE_FOR_CERTIFICATES_AND_KEYS.toString().toCharArray());
-			fos.close();
-			
-			getLogger().info("Contract certificate with distinguished name '" + 
-							 getCertificate(contractCertChain.getCertificate())
-							 .getSubjectX500Principal().getName() + "' saved"); 
+			if (!isPrivateKeyValid(contractCertPrivateKey, contractCertChain)) {
+				keyStore.setKeyEntry(
+						GlobalValues.ALIAS_CONTRACT_CERTIFICATE.toString(), 
+						contractCertPrivateKey, 
+						keyStorePassword.toCharArray(), 
+						getCertificateChain(contractCertChain)); 
+				
+				// Save the keystore persistently
+				FileOutputStream fos = new FileOutputStream("evccKeystore.jks");
+				keyStore.store(fos, GlobalValues.PASSPHRASE_FOR_CERTIFICATES_AND_KEYS.toString().toCharArray());
+				fos.close();
+				
+				getLogger().info("Contract certificate with distinguished name '" + 
+								 getCertificate(contractCertChain.getCertificate())
+								 .getSubjectX500Principal().getName() + "' saved"); 
+			} else {
+				return false;
+			}
 		} catch (KeyStoreException | NoSuchAlgorithmException | CertificateException | IOException | NullPointerException e) {
 		} catch (KeyStoreException | NoSuchAlgorithmException | CertificateException | IOException | NullPointerException e) {
 			getLogger().error(e.getClass().getSimpleName() + " occurred while trying to save contract " +
 			getLogger().error(e.getClass().getSimpleName() + " occurred while trying to save contract " +
 							  "certificate chain", e);
 							  "certificate chain", e);
@@ -838,6 +844,48 @@ public final class SecurityUtils {
 	}
 	}
 	
 	
 	
 	
+	private static boolean isPrivateKeyValid(ECPrivateKey privateKey, CertificateChainType contractCertChain) {
+		AlgorithmParameters parameters;
+		
+		try {
+			parameters = AlgorithmParameters.getInstance("EC");
+			parameters.init(new ECGenParameterSpec("secp256r1"));
+			
+			ECParameterSpec ecParameterSpec = parameters.getParameterSpec(ECParameterSpec.class);
+			
+			// Now we need to check if the private key is correct (see requirement [V2G2-823]) 
+			BigInteger order = ecParameterSpec.getOrder();
+			ECPoint basePoint = ecParameterSpec.getGenerator();
+			BigInteger privateKeyValue = privateKey.getS();
+			X509Certificate contractCert = getCertificate(contractCertChain.getCertificate());
+			ECPublicKey publicKey = (ECPublicKey) contractCert.getPublicKey();
+			
+			// 1. check
+			if (privateKeyValue.compareTo(order) != -1) {
+				getLogger().error("Validation of private key failed: its value is not strictly smaller than the "
+								+ "order of the base point");
+				return false;
+			}
+			
+			// 2. check
+			/*
+			 * TODO: 
+			 * No idea how to check for 
+			 * "multiplication of the base point with this value must generate a key matching the public key of 
+			 * the contract certificate"
+			 * "this value" = value of private key
+			 * -> some more expert knowledge on the arithmetic of elliptic curves is needed to tackle this!
+			 */
+			
+		} catch (NoSuchAlgorithmException | InvalidParameterSpecException e) {
+			getLogger().error(e.getClass().getSimpleName() + " occurred when trying to get private key from raw bytes", e);
+			return false;
+		}
+		
+		return true;
+	}
+	
+	
 	public static X509Certificate getContractCertificate() {
 	public static X509Certificate getContractCertificate() {
 		X509Certificate contractCertificate = null;
 		X509Certificate contractCertificate = null;
 		
 		

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/v2gMessages/SECCDiscoveryReq.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.v2gMessages;
 package org.eclipse.risev2g.shared.v2gMessages;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/v2gMessages/SECCDiscoveryRes.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 package org.eclipse.risev2g.shared.v2gMessages;
 package org.eclipse.risev2g.shared.v2gMessages;
 
 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/v2gMessages/appProtocol/AppProtocolType.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 //
 //
 // Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 generiert 
 // Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 generiert 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/v2gMessages/appProtocol/ObjectFactory.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 //
 //
 // Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 generiert 
 // Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 generiert 

+ 2 - 2
RISE-V2G-Shared/src/main/java/org/eclipse/risev2g/shared/v2gMessages/appProtocol/ResponseCodeType.java

@@ -1,12 +1,12 @@
 /*******************************************************************************
 /*******************************************************************************
- *  Copyright (c) 2015 Marc Mültin (Chargepartner GmbH).
+ *  Copyright (c) 2016 Dr.-Ing. Marc Mültin.
  *  All rights reserved. This program and the accompanying materials
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
  *  http://www.eclipse.org/legal/epl-v10.html
  *
  *
  *  Contributors:
  *  Contributors:
- *    Dr.-Ing. Marc Mültin (Chargepartner GmbH) - initial API and implementation and initial documentation
+ *    Dr.-Ing. Marc Mültin - initial API and implementation and initial documentation
  *******************************************************************************/
  *******************************************************************************/
 //
 //
 // Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 generiert 
 // Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 generiert 

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor