From db92fb927018d508fe4a907ed756d9bb1bf3dfbb Mon Sep 17 00:00:00 2001
From: Dustin Jenkins <Dustin.Jenkins@nrc-cnrc.gc.ca>
Date: Mon, 20 Jul 2015 12:59:35 -0700
Subject: [PATCH] Story 1734: Fix for integration tests.

---
 .../ac/server/web/users/CreateUserAction.java | 21 +++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/users/CreateUserAction.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/users/CreateUserAction.java
index e7c0cda3..d53ad283 100644
--- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/users/CreateUserAction.java
+++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/users/CreateUserAction.java
@@ -69,17 +69,18 @@
 package ca.nrc.cadc.ac.server.web.users;
 
 import java.io.InputStream;
+
+import ca.nrc.cadc.ac.ReaderException;
 import ca.nrc.cadc.ac.User;
 import ca.nrc.cadc.ac.UserAlreadyExistsException;
 import ca.nrc.cadc.ac.UserRequest;
 import ca.nrc.cadc.ac.server.UserPersistence;
-import ca.nrc.cadc.ac.xml.UserRequestReader;
-import ca.nrc.cadc.ac.xml.UserWriter;
 
 import javax.servlet.http.HttpServletResponse;
 import java.security.Principal;
 
-public class CreateUserAction<T extends Principal> extends UsersAction
+
+public class CreateUserAction extends UsersAction
 {
     private final InputStream inputStream;
 
@@ -92,11 +93,15 @@ public class CreateUserAction<T extends Principal> extends UsersAction
     public Object run()
         throws Exception
     {
-        UserPersistence<Principal> userPersistence = getUserPersistence();
-        UserRequest<Principal> userRequest = readUserRequest(this.inputStream);
         try
         {
-            User<Principal> newUser = userPersistence.addUser(userRequest);
+            final UserPersistence<Principal> userPersistence =
+                    getUserPersistence();
+            final UserRequest<Principal> userRequest =
+                    readUserRequest(this.inputStream);
+            final User<Principal> newUser =
+                    userPersistence.addUser(userRequest);
+
             writeUser(newUser);
             logUserInfo(newUser.getUserID().getName());
         }
@@ -105,6 +110,10 @@ public class CreateUserAction<T extends Principal> extends UsersAction
             response.setStatus(HttpServletResponse.SC_CONFLICT);
             response.getWriter().write("User already exists");
         }
+        catch (ReaderException e)
+        {
+            throw new IllegalArgumentException("Invalid input", e);
+        }
 
         return null;
     }
-- 
GitLab