From fb1b6755a9ecd43601dc4fbef9166d11d8a86f24 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Tue, 14 Oct 2014 16:25:10 +0000
Subject: [PATCH] #2021 config - Added application Metadata management
---
securis/src/main/java/net/curisit/securis/services/ApplicationResource.java | 28 +++++++++++++++++++++++++++-
1 files changed, 27 insertions(+), 1 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 d6079e9..c4a81b0 100644
--- a/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
@@ -2,6 +2,7 @@
import java.util.Date;
import java.util.List;
+import java.util.Set;
import javax.inject.Inject;
import javax.inject.Provider;
@@ -25,6 +26,7 @@
import net.curisit.integrity.commons.Utils;
import net.curisit.securis.DefaultExceptionHandler;
import net.curisit.securis.db.Application;
+import net.curisit.securis.db.ApplicationMetadata;
import net.curisit.securis.utils.TokenHelper;
import org.apache.logging.log4j.LogManager;
@@ -110,6 +112,14 @@
EntityManager em = emProvider.get();
app.setCreationTimestamp(new Date());
em.persist(app);
+ LOG.info("App ID: {}", app.getId());
+ if (app.getApplicationMetadata() != null) {
+ for (ApplicationMetadata md : app.getApplicationMetadata()) {
+ md.setApplication(app);
+ md.setCreationTimestamp(app.getCreationTimestamp());
+ em.persist(md);
+ }
+ }
return Response.ok(app).build();
}
@@ -134,7 +144,23 @@
currentapp.setName(app.getName());
currentapp.setDescription(app.getDescription());
em.persist(currentapp);
-
+
+ Set<ApplicationMetadata> newMD = app.getApplicationMetadata();
+ for (ApplicationMetadata currentMd : currentapp.getApplicationMetadata()) {
+ if (newMD == null || !newMD.contains(currentMd));
+ em.remove(currentMd);
+ }
+
+ if (newMD != null) {
+ for (ApplicationMetadata md : newMD) {
+ md.setApplication(app);
+ if (md.getCreationTimestamp() == null) {
+ md.setCreationTimestamp(app.getCreationTimestamp());
+ }
+ em.persist(md);
+ }
+ }
+ currentapp.setApplicationMetadata(app.getApplicationMetadata());
return Response.ok(currentapp).build();
}
--
Gitblit v1.3.2