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/PackResource.java | 21 +++++++++++++--------
1 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/services/PackResource.java b/securis/src/main/java/net/curisit/securis/services/PackResource.java
index cd18426..8a29756 100644
--- a/securis/src/main/java/net/curisit/securis/services/PackResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/PackResource.java
@@ -225,23 +225,28 @@
currentPack.setComments(pack.getComments());
currentPack.setNumLicenses(pack.getNumLicenses());
- em.persist(currentPack);
-
Set<PackMetadata> newMD = pack.getMetadata();
for (PackMetadata currentMd : currentPack.getMetadata()) {
- if (newMD == null || !newMD.contains(currentMd))
- ;
- em.remove(currentMd);
+ if (newMD == null || !newMD.contains(currentMd)) {
+ em.remove(currentMd);
+ }
}
if (newMD != null) {
+ Set<PackMetadata> oldMD = currentPack.getMetadata();
for (PackMetadata md : newMD) {
- md.setPack(currentPack);
- em.persist(md);
+ if (oldMD.contains(md)) {
+ em.merge(md);
+ } else {
+ md.setPack(currentPack);
+ em.persist(md);
+ }
}
}
currentPack.setMetadata(newMD);
- return Response.ok(pack).build();
+ em.merge(currentPack);
+
+ return Response.ok(currentPack).build();
}
@POST
--
Gitblit v1.3.2