From 1a817ab8f97770cbc335751fa55141079f4c5a92 Mon Sep 17 00:00:00 2001
From: Sebastian Bergemann <bergemann@fortiss.org>
Date: Fri, 21 Jan 2022 10:26:19 +0100
Subject: [PATCH] Improved switch to java.time.ZonedDateTime for reuse plugin

Issue-Ref: 4149
Issue-Url: https://git.fortiss.org/af3/af3/-/issues/4149

Signed-off-by: Sebastian Bergemann <bergemann@fortiss.org>
---
 org.fortiss.tooling.ext.reuse/model/reuse.genmodel             | 3 ++-
 .../src/org/fortiss/tooling/ext/reuse/utils/.ratings           | 2 +-
 .../org/fortiss/tooling/ext/reuse/utils/ReuseLibraryUtils.java | 3 +--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/org.fortiss.tooling.ext.reuse/model/reuse.genmodel b/org.fortiss.tooling.ext.reuse/model/reuse.genmodel
index 498876089..d300aedd0 100644
--- a/org.fortiss.tooling.ext.reuse/model/reuse.genmodel
+++ b/org.fortiss.tooling.ext.reuse/model/reuse.genmodel
@@ -9,7 +9,8 @@
   <foreignModel>reuse.ecore</foreignModel>
   <genPackages prefix="AF3Reuse" basePackage="org.fortiss.tooling.ext.reuse" disposableProviderFactory="true"
       ecorePackage="reuse.ecore#/">
-    <genDataTypes ecoreDataType="reuse.ecore#//EZonedDateTime" create="return ZonedDateTime.parse(it);"/>
+    <genDataTypes ecoreDataType="reuse.ecore#//EZonedDateTime" create="return java.time.ZonedDateTime.parse(it);"
+        convert="return java.time.format.DateTimeFormatter.ISO_ZONED_DATE_TIME.format(it);"/>
     <genClasses ecoreClass="reuse.ecore#//ReuseLibrary">
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference reuse.ecore#//ReuseLibrary/reuseElementList"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute reuse.ecore#//ReuseLibrary/libraryUUID"/>
diff --git a/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/.ratings b/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/.ratings
index 24c393b12..c95dc0dce 100644
--- a/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/.ratings
+++ b/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/.ratings
@@ -1,2 +1,2 @@
 ReuseLibraryModelElementFactory.java edac61169c3522577057a37b0e001153cea23e3b YELLOW
-ReuseLibraryUtils.java 342fc58e50d6a86393050d5523715fa5b5971ad3 YELLOW
+ReuseLibraryUtils.java e5c6cf60b4f6c4ad76cc19999668d99a6355e04c YELLOW
diff --git a/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/ReuseLibraryUtils.java b/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/ReuseLibraryUtils.java
index 342fc58e5..e5c6cf60b 100644
--- a/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/ReuseLibraryUtils.java
+++ b/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/ReuseLibraryUtils.java
@@ -939,8 +939,7 @@ public class ReuseLibraryUtils {
 			// e.g. if the original reuse element in the library was updated by someone else
 			// in the meantime).
 			int hash = element.hashCode();
-			String dateAsString = getDateAsString(modifyDate);
-			String hashString = String.valueOf(hash) + dateAsString;
+			String hashString = String.valueOf(hash) + "__" + getDateAsString(modifyDate);
 			return hashString;
 		}
 		return null;
-- 
GitLab