Umstellung UUID nach Typ String
diff --git a/db/oracle/UpdateTo2.0.0FromDB_1.0.0/01_migrate_from_2.0.0_to_2.0.1.sql b/db/oracle/UpdateTo2.0.0FromDB_1.0.0/01_migrate_from_2.0.0_to_2.0.1.sql
index 1408660..c5fa968 100644
--- a/db/oracle/UpdateTo2.0.0FromDB_1.0.0/01_migrate_from_2.0.0_to_2.0.1.sql
+++ b/db/oracle/UpdateTo2.0.0FromDB_1.0.0/01_migrate_from_2.0.0_to_2.0.1.sql
@@ -1,4 +1,4 @@
-ALTER TABLE TBL_NOTIFICATION add "RESPONSIBILITY_FORWARDING_UUID" RAW(16);
+ALTER TABLE TBL_NOTIFICATION add "RESPONSIBILITY_FORWARDING_UUID" VARCHAR2(50);
CREATE OR REPLACE VIEW VIEW_ACTIVE_NOTIFICATION AS
SELECT S."ID",
diff --git a/src/main/java/org/eclipse/openk/elogbook/common/mapper/NotificationMapper.java b/src/main/java/org/eclipse/openk/elogbook/common/mapper/NotificationMapper.java
index 8ac4d64..00d502c 100644
--- a/src/main/java/org/eclipse/openk/elogbook/common/mapper/NotificationMapper.java
+++ b/src/main/java/org/eclipse/openk/elogbook/common/mapper/NotificationMapper.java
@@ -29,6 +29,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.UUID;
public class NotificationMapper {
private Map<Integer, RefNotificationStatus> refStatusMap;
@@ -77,7 +78,8 @@
trg.setRefGridTerritory(refGridTerritoryMap.get(vmNot.getFkRefGridTerritory()));
trg.setAdminFlag(vmNot.isAdminFlag());
trg.setType(vmNot.getType());
- trg.setResponsibilityForwardingUuid(vmNot.getResponsibilityForwardingUuid());
+ trg.setResponsibilityForwardingUuid(vmNot.getResponsibilityForwardingUuid() != null ?
+ vmNot.getResponsibilityForwardingUuid().toString() : null);
return trg;
}
@@ -127,7 +129,8 @@
}
not.getAdminFlag(tblNot.isAdminFlag());
not.setType(tblNot.getType());
- not.setResponsibilityForwardingUuid(tblNot.getResponsibilityForwardingUuid());
+ not.setResponsibilityForwardingUuid(tblNot.getResponsibilityForwardingUuid() != null ?
+ UUID.fromString(tblNot.getResponsibilityForwardingUuid()) : null);
return not;
}
diff --git a/src/main/java/org/eclipse/openk/elogbook/controller/ContactBaseDataManager.java b/src/main/java/org/eclipse/openk/elogbook/controller/ContactBaseDataManager.java
index 775f230..35ed744 100644
--- a/src/main/java/org/eclipse/openk/elogbook/controller/ContactBaseDataManager.java
+++ b/src/main/java/org/eclipse/openk/elogbook/controller/ContactBaseDataManager.java
@@ -75,7 +75,8 @@
try (AutoCloseEntityManager em = new AutoCloseEntityManager(emOrg)) {
em.getTransaction().begin();
TblNotificationDao notifDao = new TblNotificationDao(em);
- Map<UUID, String> uuid2NameMap = getUserContacts(token).stream().collect(Collectors.toMap(ContactTupel::getContactUuid, ContactTupel::getContactName));
+ Map<String, String> uuid2NameMap = getUserContacts(token).stream()
+ .collect(Collectors.toMap( x -> x.getContactUuid().toString(), ContactTupel::getContactName));
notifDao.getDistinctResponsibilityForwardingUuid()
.forEach( contactUuid -> notifDao.updateResponsibilityForwardingByContactUuid( contactUuid, uuid2NameMap.getOrDefault(contactUuid, "/gelöscht/")));
em.getTransaction().commit();
diff --git a/src/main/java/org/eclipse/openk/elogbook/persistence/dao/TblNotificationDao.java b/src/main/java/org/eclipse/openk/elogbook/persistence/dao/TblNotificationDao.java
index 9685cbb..a9689df 100644
--- a/src/main/java/org/eclipse/openk/elogbook/persistence/dao/TblNotificationDao.java
+++ b/src/main/java/org/eclipse/openk/elogbook/persistence/dao/TblNotificationDao.java
@@ -29,7 +29,6 @@
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
-import java.util.UUID;
public class TblNotificationDao extends GenericDaoJpa<TblNotification, Integer> {
private static final String VIEW_ACTIVE_NOTIFICATION = EntityHelper.instance().makeIdentifier("VIEW_ACTIVE_NOTIFICATION");
@@ -192,7 +191,7 @@
}
}
- public List<UUID> getDistinctResponsibilityForwardingUuid() throws BtbInternalServerError {
+ public List<String> getDistinctResponsibilityForwardingUuid() throws BtbInternalServerError {
try {
String selectString = "select distinct "+RESPONSIBILITY_FORW_UUID+" from "+TBL_NOTIFICATION+" n where n.responsibility_forwarding_uuid is not null";
Query q = getEM().createNativeQuery(selectString);
@@ -204,7 +203,7 @@
}
}
- public void updateResponsibilityForwardingByContactUuid( UUID contactUuid, String contactName ) {
+ public void updateResponsibilityForwardingByContactUuid( String contactUuid, String contactName ) {
try {
String selectString = "update "+TBL_NOTIFICATION+" set "+RESPONSIBILITY_FORWARDING+" = ? where "+RESPONSIBILITY_FORW_UUID+" = ?";
Query q = getEM().createNativeQuery(selectString);
diff --git a/src/main/java/org/eclipse/openk/elogbook/persistence/model/AbstractNotification.java b/src/main/java/org/eclipse/openk/elogbook/persistence/model/AbstractNotification.java
index 5dde8c6..83bf438 100644
--- a/src/main/java/org/eclipse/openk/elogbook/persistence/model/AbstractNotification.java
+++ b/src/main/java/org/eclipse/openk/elogbook/persistence/model/AbstractNotification.java
@@ -11,10 +11,6 @@
*/
package org.eclipse.openk.elogbook.persistence.model;
-import org.eclipse.openk.elogbook.persistence.util.UUIDConverter;
-import org.eclipse.persistence.annotations.Convert;
-import org.eclipse.persistence.annotations.Converter;
-
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
@@ -25,7 +21,6 @@
import javax.persistence.SequenceGenerator;
import java.io.Serializable;
import java.sql.Timestamp;
-import java.util.UUID;
/**
@@ -45,76 +40,74 @@
@Column(name = "incident_id")
private Integer incidentId;
- @Column(name="begin_date")
+ @Column(name = "begin_date")
private Timestamp beginDate;
- @Column(name="create_date")
+ @Column(name = "create_date")
private Timestamp createDate;
- @Column(name="create_user")
+ @Column(name = "create_user")
private String createUser;
- @Column(name="expected_finished_date")
+ @Column(name = "expected_finished_date")
private Timestamp expectedFinishedDate;
- @Column(name="finished_date")
+ @Column(name = "finished_date")
private Timestamp finishedDate;
- @Column(name="free_text")
+ @Column(name = "free_text")
private String freeText;
- @Column(name="free_text_extended")
+ @Column(name = "free_text_extended")
private String freeTextExtended;
- @Column(name="mod_date")
+ @Column(name = "mod_date")
private Timestamp modDate;
- @Column(name="mod_user")
+ @Column(name = "mod_user")
private String modUser;
- @Column(name="notification_text")
+ @Column(name = "notification_text")
private String notificationText;
- @Column(name="reminder_date")
+ @Column(name = "reminder_date")
private Timestamp reminderDate;
- @Column(name="responsibility_control_point")
+ @Column(name = "responsibility_control_point")
private String responsibilityControlPoint;
- @Column(name="responsibility_forwarding")
+ @Column(name = "responsibility_forwarding")
private String responsibilityForwarding;
- @Column(name="responsibility_forwarding_uuid")
- @Converter(converterClass= UUIDConverter.class, name="responsibility_forwarding_uuid")
- @Convert("responsibility_forwarding_uuid")
- private UUID responsibilityForwardingUuid;
+ @Column(name = "responsibility_forwarding_uuid")
+ private String responsibilityForwardingUuid;
- @Column(name="version")
+ @Column(name = "version")
private Integer version;
-
- @Column(name="admin_flag")
+
+ @Column(name = "admin_flag")
private Boolean adminFlag;
- @Column(name="type")
+ @Column(name = "type")
private String type;
//bi-directional many-to-one association to RefBranch
@ManyToOne
- @JoinColumn(name="fk_ref_branch")
+ @JoinColumn(name = "fk_ref_branch")
private RefBranch refBranch;
//bi-directional many-to-one association to RefNotificationStatus
@ManyToOne
- @JoinColumn(name="fk_ref_notification_status")
+ @JoinColumn(name = "fk_ref_notification_status")
private RefNotificationStatus refNotificationStatus;
@ManyToOne
- @JoinColumn(name="fk_ref_grid_territory")
+ @JoinColumn(name = "fk_ref_grid_territory")
private RefGridTerritory refGridTerritory;
//bi-directional many-to-one association to RefNotificationStatus
@ManyToOne
- @JoinColumn(name="fk_ref_notification_priority")
+ @JoinColumn(name = "fk_ref_notification_priority")
private RefNotificationPriority refNotificationPriority;
public AbstractNotification() {
@@ -297,11 +290,11 @@
this.type = type;
}
- public UUID getResponsibilityForwardingUuid() {
+ public String getResponsibilityForwardingUuid() {
return responsibilityForwardingUuid;
}
- public void setResponsibilityForwardingUuid(UUID responsibilityForwardingUuid) {
+ public void setResponsibilityForwardingUuid(String responsibilityForwardingUuid) {
this.responsibilityForwardingUuid = responsibilityForwardingUuid;
}
-}
\ No newline at end of file
+}
diff --git a/src/main/resources/backendConfigDevLocal.json b/src/main/resources/backendConfigDevLocal.json
index 9f954f6..306a6cb 100644
--- a/src/main/resources/backendConfigDevLocal.json
+++ b/src/main/resources/backendConfigDevLocal.json
@@ -6,7 +6,7 @@
"fileRowToRead": "9",
"importFilesFolderPath": "C:/FilesToImport",
- "activePersistencyUnit": "betriebstagebuch",
+ "activePersistencyUnit": "betriebstagebuchORA",
"applicationAccessRole": "elogbook-access",
"emailSmtpHost": "entdockergss",
diff --git a/src/main/resources/backendConfigDevServer.json b/src/main/resources/backendConfigDevServer.json
index e4cbf8f..947e115 100644
--- a/src/main/resources/backendConfigDevServer.json
+++ b/src/main/resources/backendConfigDevServer.json
@@ -6,7 +6,7 @@
"fileRowToRead": "9",
"importFilesFolderPath": "/opt/opkon/btb_filesToImport",
- "activePersistencyUnit": "betriebstagebuch",
+ "activePersistencyUnit": "betriebstagebuchORA",
"applicationAccessRole": "elogbook-access",
"emailSmtpHost": "entdockergss",
diff --git a/src/test/java/org/eclipse/openk/elogbook/common/mapper/NotificationMapperTest.java b/src/test/java/org/eclipse/openk/elogbook/common/mapper/NotificationMapperTest.java
index 6449115..879a183 100644
--- a/src/test/java/org/eclipse/openk/elogbook/common/mapper/NotificationMapperTest.java
+++ b/src/test/java/org/eclipse/openk/elogbook/common/mapper/NotificationMapperTest.java
@@ -12,7 +12,6 @@
package org.eclipse.openk.elogbook.common.mapper;
-import org.eclipse.openk.elogbook.common.mapper.NotificationMapper;
import org.eclipse.openk.elogbook.controller.NotificationTestHelper;
import org.eclipse.openk.elogbook.persistence.model.RefNotificationStatus;
import org.eclipse.openk.elogbook.persistence.model.TblNotification;
@@ -22,8 +21,11 @@
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
+import java.util.UUID;
-import static junit.framework.TestCase.*;
+import static junit.framework.TestCase.assertEquals;
+import static junit.framework.TestCase.assertNotNull;
+import static junit.framework.TestCase.assertNull;
public class NotificationMapperTest {
@@ -51,6 +53,7 @@
vmNot.setFkRefNotificationStatus(2);
vmNot.setFkRefGridTerritory(1);
vmNot.getAdminFlag(Boolean.TRUE);
+ vmNot.setResponsibilityForwardingUuid(UUID.randomUUID());
return vmNot;
}
@@ -143,4 +146,19 @@
assertNull(notification.getFkRefGridTerritory());
}
+
+ @Test
+ public void testTblNotificationUuidNull() {
+
+ TblNotification tblNotification = new TblNotification();
+ tblNotification.setRefNotificationStatus(new RefNotificationStatus());
+ tblNotification.setResponsibilityForwardingUuid(null);
+ NotificationMapper mappy = NotificationTestHelper.createMapper();
+ Notification notification = mappy.mapToVModel(tblNotification);
+ assertNull(notification.getFkRefBranch());
+ assertNull(notification.getFkRefGridTerritory());
+ assertNull(notification.getResponsibilityForwardingUuid());
+ TblNotification tmodel = mappy.mapFromVModel(notification);
+ assertNull(tmodel.getResponsibilityForwardingUuid());
+ }
}