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