From 52ce72b22ef8d92a1f35b4993bcddaaa66d67350 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Thu, 18 Sep 2014 17:55:35 +0000
Subject: [PATCH] #396 fix - Fixed some SonarQube issues
---
securis/src/main/java/net/curisit/securis/services/UserResource.java | 93 +++++++++++++++++++++++-----------------------
1 files changed, 46 insertions(+), 47 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/services/UserResource.java b/securis/src/main/java/net/curisit/securis/services/UserResource.java
index f533283..514003b 100644
--- a/securis/src/main/java/net/curisit/securis/services/UserResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/UserResource.java
@@ -28,6 +28,7 @@
import net.curisit.integrity.commons.Utils;
import net.curisit.securis.DefaultExceptionHandler;
+import net.curisit.securis.SeCurisException;
import net.curisit.securis.db.Organization;
import net.curisit.securis.db.User;
import net.curisit.securis.utils.TokenHelper;
@@ -52,7 +53,7 @@
Provider<EntityManager> emProvider;
// private LicenseHelper licenseHelper = InjectorFactory.getInjector().getInstance(LicenseHelper.class);
- private static final Logger log = LogManager.getLogger(UserResource.class);
+ private static final Logger LOG = LogManager.getLogger(UserResource.class);
public UserResource() {
}
@@ -66,7 +67,7 @@
@Produces(
{ MediaType.APPLICATION_JSON })
public Response index() {
- log.info("Getting users list ");
+ LOG.info("Getting users list ");
EntityManager em = emProvider.get();
TypedQuery<User> q = em.createNamedQuery("list-users", User.class);
@@ -85,16 +86,16 @@
@Produces(
{ MediaType.APPLICATION_JSON })
public Response get(@PathParam("uid") String uid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- log.info("Getting user data for id: {}: ", uid);
+ LOG.info("Getting user data for id: {}: ", uid);
if (uid == null || uid.equals("")) {
- log.error("User ID is mandatory");
+ LOG.error("User ID is mandatory");
return Response.status(Status.NOT_FOUND).build();
}
EntityManager em = emProvider.get();
User lt = em.find(User.class, uid);
if (lt == null) {
- log.error("User with id {} not found in DB", uid);
+ LOG.error("User with id {} not found in DB", uid);
return Response.status(Status.NOT_FOUND).build();
}
return Response.ok(lt).build();
@@ -107,35 +108,43 @@
{ MediaType.APPLICATION_JSON })
@Transactional
public Response create(User user, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- log.info("Creating new user");
+ LOG.info("Creating new user");
EntityManager em = emProvider.get();
User currentUser = em.find(User.class, user.getUsername());
if (currentUser != null) {
- log.info("User with id {} was found in DB, we'll try to modify it", user.getUsername());
+ LOG.info("User with id {} was found in DB, we'll try to modify it", user.getUsername());
return modify(user, user.getUsername(), token);
}
-
- Set<Organization> orgs = null;
- Set<Integer> orgsIds = user.getOrgsIds();
- if (orgsIds != null && orgsIds.size() > 0) {
- orgs = new HashSet<>();
- for (Integer orgId : orgsIds) {
- Organization o = em.find(Organization.class, orgId);
- if (o == null) {
- log.error("User organization with id {} not found in DB", orgId);
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "User's organization not found with ID: " + orgId).build();
- }
- orgs.add(o);
- }
+
+ try {
+ this.setUserOrg(user, user.getOrgsIds(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
}
-
- user.setOrganizations(orgs);
user.setModificationTimestamp(new Date());
user.setLastLogin(null);
user.setCreationTimestamp(new Date());
em.persist(user);
return Response.ok(user).build();
+ }
+
+ private void setUserOrg(User user, Set<Integer> orgsIds, EntityManager em) throws SeCurisException {
+ Set<Organization> orgs = null;
+ if (orgsIds != null && orgsIds.size() > 0) {
+ orgs = new HashSet<>();
+ for (Integer orgId : orgsIds) {
+ Organization o = em.find(Organization.class, orgId);
+ if (o == null) {
+ LOG.error("User organization with id {} not found in DB", orgId);
+ throw new SeCurisException("User's organization not found with ID: " + orgId);
+ }
+ orgs.add(o);
+ }
+ }
+
+ user.setOrganizations(orgs);
+
}
@PUT
@@ -146,29 +155,19 @@
@Produces(
{ MediaType.APPLICATION_JSON })
public Response modify(User user, @PathParam("uid") String uid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- log.info("Modifying user with id: {}", uid);
+ LOG.info("Modifying user with id: {}", uid);
EntityManager em = emProvider.get();
User currentUser = em.find(User.class, uid);
if (currentUser == null) {
- log.info("User with id {} not found in DB, we'll try to create it", uid);
+ LOG.info("User with id {} not found in DB, we'll try to create it", uid);
return create(user, token);
}
- Set<Organization> orgs = null;
- Set<Integer> orgsIds = user.getOrgsIds();
- if (orgsIds != null && orgsIds.size() > 0) {
- orgs = new HashSet<>();
- for (Integer orgId : orgsIds) {
- Organization o = em.find(Organization.class, orgId);
- if (o == null) {
- log.error("User organization with id {} not found in DB", orgId);
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "User's user not found with ID: " + orgId).build();
- }
- orgs.add(o);
- }
+ try {
+ this.setUserOrg(currentUser, user.getOrgsIds(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
}
-
- currentUser.setOrganizations(orgs);
currentUser.setFirstName(user.getFirstName());
currentUser.setLastName(user.getLastName());
currentUser.setRoles(user.getRoles());
@@ -188,11 +187,11 @@
@Produces(
{ MediaType.APPLICATION_JSON })
public Response delete(@PathParam("uid") String uid, @Context HttpServletRequest request) {
- log.info("Deleting app with id: {}", uid);
+ LOG.info("Deleting app with id: {}", uid);
EntityManager em = emProvider.get();
User app = em.find(User.class, uid);
if (app == null) {
- log.error("User with id {} can not be deleted, It was not found in DB", uid);
+ LOG.error("User with id {} can not be deleted, It was not found in DB", uid);
return Response.status(Status.NOT_FOUND).build();
}
@@ -205,9 +204,9 @@
@Produces(
{ MediaType.APPLICATION_JSON })
public Response login(@FormParam("username") String user, @FormParam("password") String password, @Context HttpServletRequest request) {
- log.info("index session: " + request.getSession());
- log.info("user: {}, pass: {}", user, password);
- log.info("is user in role: {} == {} ? ", "advance", request.isUserInRole("advance"));
+ LOG.info("index session: " + request.getSession());
+ LOG.info("user: {}, pass: {}", user, password);
+ LOG.info("is user in role: {} == {} ? ", "advance", request.isUserInRole("advance"));
if ("no".equals(password))
return Response.status(Status.UNAUTHORIZED).build();
@@ -233,14 +232,14 @@
if (token == null)
return Response.status(Status.FORBIDDEN).build();
- log.info("Token : " + token);
+ LOG.info("Token : " + token);
String user = tokenHelper.extractUserFromToken(token);
- log.info("Token user: " + user);
+ LOG.info("Token user: " + user);
Date date = tokenHelper.extractDateCreationFromToken(token);
- log.info("Token date: " + date);
+ LOG.info("Token date: " + date);
boolean valid = tokenHelper.isTokenValid(token);
- log.info("Is Token valid: " + valid);
+ LOG.info("Is Token valid: " + valid);
return Response.ok(Utils.createMap("valid", true, "user", user, "date", date, "token", token)).build();
}
--
Gitblit v1.3.2