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/OrganizationResource.java | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java b/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
index 27e956c..25a5b07 100644
--- a/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
@@ -1,8 +1,9 @@
package net.curisit.securis.services;
-import java.util.ArrayList;
import java.util.Date;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import javax.annotation.security.RolesAllowed;
import javax.inject.Inject;
@@ -35,7 +36,6 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.jboss.resteasy.spi.ResteasyProviderFactory;
import com.google.inject.persist.Transactional;
@@ -69,9 +69,8 @@
public Response index(@Context BasicSecurityContext bsc) {
LOG.info("Getting organizations list ");
- BasicSecurityContext bsc2 = ResteasyProviderFactory.getContextData(BasicSecurityContext.class);
- LOG.debug("securityContext ROL_ADMIN?: {}", bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN));
EntityManager em = emProvider.get();
+ em.clear();
TypedQuery<Organization> q;
if (bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
LOG.info("GEtting all orgs for user: " + bsc.getUserPrincipal());
@@ -103,6 +102,7 @@
}
EntityManager em = emProvider.get();
+ em.clear();
Organization org = em.find(Organization.class, Integer.parseInt(orgid));
if (org == null) {
LOG.error("Organization with id {} not found in DB", orgid);
@@ -141,10 +141,10 @@
return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
}
- List<User> users = null;
- List<String> usersIds = org.getUsersIds();
+ Set<User> users = null;
+ Set<String> usersIds = org.getUsersIds();
if (usersIds != null && !usersIds.isEmpty()) {
- users = new ArrayList<>();
+ users = new HashSet<>();
for (String username : usersIds) {
User user = em.find(User.class, username);
if (user == null) {
@@ -176,10 +176,10 @@
org.setParentOrganization(parentOrg);
}
- private void setOrgUsers(Organization org, List<String> usersIds, EntityManager em) throws SeCurisException {
- List<User> users = null;
+ private void setOrgUsers(Organization org, Set<String> usersIds, EntityManager em) throws SeCurisException {
+ Set<User> users = null;
if (usersIds != null && !usersIds.isEmpty()) {
- users = new ArrayList<>();
+ users = new HashSet<>();
for (String username : usersIds) {
User user = em.find(User.class, username);
if (user == null) {
--
Gitblit v1.3.2