rsanchez
2014-10-15 973ee9056995d1c9e7a533d9999329a70f0d2b2d
securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
....@@ -2,6 +2,7 @@
22
33 import java.util.Date;
44 import java.util.List;
5
+import java.util.Set;
56
67 import javax.inject.Inject;
78 import javax.inject.Provider;
....@@ -26,7 +27,9 @@
2627 import net.curisit.securis.DefaultExceptionHandler;
2728 import net.curisit.securis.SeCurisException;
2829 import net.curisit.securis.db.Application;
30
+import net.curisit.securis.db.ApplicationMetadata;
2931 import net.curisit.securis.db.LicenseType;
32
+import net.curisit.securis.db.LicenseTypeMetadata;
3033 import net.curisit.securis.utils.TokenHelper;
3134
3235 import org.apache.logging.log4j.LogManager;
....@@ -123,6 +126,15 @@
123126
124127 lt.setCreationTimestamp(new Date());
125128 em.persist(lt);
129
+ Set<LicenseTypeMetadata> newMD = lt.getMetadata();
130
+
131
+ if (newMD != null) {
132
+ for (LicenseTypeMetadata md : newMD) {
133
+ md.setLicenseType(lt);
134
+ em.persist(md);
135
+ }
136
+ }
137
+ lt.setMetadata(newMD);
126138
127139 return Response.ok(lt).build();
128140 }
....@@ -155,6 +167,20 @@
155167 currentlt.setName(lt.getName());
156168 currentlt.setDescription(lt.getDescription());
157169 em.persist(currentlt);
170
+
171
+ Set<LicenseTypeMetadata> newMD = lt.getMetadata();
172
+ for (LicenseTypeMetadata currentMd : currentlt.getMetadata()) {
173
+ if (newMD == null || !newMD.contains(currentMd));
174
+ em.remove(currentMd);
175
+ }
176
+
177
+ if (newMD != null) {
178
+ for (LicenseTypeMetadata md : newMD) {
179
+ md.setLicenseType(currentlt);
180
+ em.persist(md);
181
+ }
182
+ }
183
+ currentlt.setMetadata(newMD);
158184
159185 return Response.ok(currentlt).build();
160186 }