From 04f9a9d2dbd2d79bfffea9c5a6b7ba1b32c5f42b Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Mon, 17 Nov 2014 15:29:03 +0000
Subject: [PATCH] #396 fix - Supporting MySQL, changed "persist()" by "merge()"
---
securis/src/main/java/net/curisit/securis/services/ApplicationResource.java | 21 +++++++++++++--------
1 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java b/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
index c399160..28e3625 100644
--- a/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
@@ -154,22 +154,27 @@
}
currentapp.setName(app.getName());
currentapp.setDescription(app.getDescription());
- em.persist(currentapp);
+ em.merge(currentapp);
Set<ApplicationMetadata> newMD = app.getApplicationMetadata();
for (ApplicationMetadata currentMd : currentapp.getApplicationMetadata()) {
- if (newMD == null || !newMD.contains(currentMd))
- ;
- em.remove(currentMd);
+ if (newMD == null || !newMD.contains(currentMd)) {
+ em.remove(currentMd);
+ }
}
if (newMD != null) {
+ Set<ApplicationMetadata> oldMD = currentapp.getApplicationMetadata();
for (ApplicationMetadata md : newMD) {
- md.setApplication(app);
- if (md.getCreationTimestamp() == null) {
- md.setCreationTimestamp(app.getCreationTimestamp());
+ if (oldMD.contains(md)) {
+ em.merge(md);
+ } else {
+ md.setApplication(app);
+ if (md.getCreationTimestamp() == null) {
+ md.setCreationTimestamp(app.getCreationTimestamp());
+ }
+ em.persist(md);
}
- em.persist(md);
}
}
currentapp.setApplicationMetadata(app.getApplicationMetadata());
--
Gitblit v1.3.2