From 4c13c7324a920f5cca9601154e5224e5d7484fa9 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Fri, 12 Dec 2014 18:09:27 +0000
Subject: [PATCH] #2140 fix - Many changes related with cahce and JPA cycling relationships
---
securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java b/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
index 79f4e5c..dd92706 100644
--- a/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
@@ -32,6 +32,8 @@
import net.curisit.securis.db.LicenseTypeMetadata;
import net.curisit.securis.security.BasicSecurityContext;
import net.curisit.securis.security.Securable;
+import net.curisit.securis.services.exception.SeCurisServiceException;
+import net.curisit.securis.services.exception.SeCurisServiceException.ErrorCodes;
import net.curisit.securis.utils.TokenHelper;
import org.apache.logging.log4j.LogManager;
@@ -73,6 +75,7 @@
LOG.info("Getting license types list ");
EntityManager em = emProvider.get();
+ em.clear();
TypedQuery<LicenseType> q = em.createNamedQuery("list-license_types", LicenseType.class);
List<LicenseType> list = q.getResultList();
@@ -82,6 +85,7 @@
/**
*
* @return the server version in format majorVersion.minorVersion
+ * @throws SeCurisServiceException
*/
@GET
@Path("/{ltid}")
@@ -89,7 +93,7 @@
MediaType.APPLICATION_JSON
})
@Securable
- public Response get(@PathParam("ltid") String ltid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ public Response get(@PathParam("ltid") String ltid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) throws SeCurisServiceException {
LOG.info("Getting license type data for id: {}: ", ltid);
if (ltid == null || "".equals(ltid)) {
LOG.error("LicenseType ID is mandatory");
@@ -97,10 +101,11 @@
}
EntityManager em = emProvider.get();
+ em.clear();
LicenseType lt = em.find(LicenseType.class, Integer.parseInt(ltid));
if (lt == null) {
LOG.error("LicenseType with id {} not found in DB", ltid);
- return Response.status(Status.NOT_FOUND).build();
+ throw new SeCurisServiceException(ErrorCodes.NOT_FOUND, "LicenseType was not found in DB");
}
return Response.ok(lt).build();
}
--
Gitblit v1.3.2