From 973ee9056995d1c9e7a533d9999329a70f0d2b2d Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Wed, 15 Oct 2014 07:49:46 +0000
Subject: [PATCH] #2021 config - Added pack and LicenseType Metadata management
---
securis/src/main/java/net/curisit/securis/services/PackResource.java | 26 +++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 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 45c5bd9..39ac56d 100644
--- a/securis/src/main/java/net/curisit/securis/services/PackResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/PackResource.java
@@ -3,6 +3,7 @@
import java.security.Principal;
import java.util.Date;
import java.util.List;
+import java.util.Set;
import javax.annotation.security.RolesAllowed;
import javax.inject.Inject;
@@ -26,8 +27,10 @@
import net.curisit.securis.DefaultExceptionHandler;
import net.curisit.securis.SeCurisException;
import net.curisit.securis.db.LicenseType;
+import net.curisit.securis.db.PackMetadata;
import net.curisit.securis.db.Organization;
import net.curisit.securis.db.Pack;
+import net.curisit.securis.db.PackMetadata;
import net.curisit.securis.db.User;
import net.curisit.securis.security.BasicSecurityContext;
import net.curisit.securis.security.Securable;
@@ -155,7 +158,15 @@
pack.setCreatedBy(user);
pack.setCreationTimestamp(new Date());
em.persist(pack);
-
+ Set<PackMetadata> newMD = pack.getMetadata();
+
+ if (newMD != null) {
+ for (PackMetadata md : newMD) {
+ md.setPack(pack);
+ em.persist(md);
+ }
+ }
+ pack.setMetadata(newMD);
return Response.ok(pack).build();
}
@@ -205,6 +216,19 @@
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) {
+ for (PackMetadata md : newMD) {
+ md.setPack(currentPack);
+ em.persist(md);
+ }
+ }
+ currentPack.setMetadata(newMD);
return Response.ok(pack).build();
}
--
Gitblit v1.3.2