From d3a60287ea9bf3609c18bd997bbb7d8fc6308608 Mon Sep 17 00:00:00 2001
From: Alinga Yeung <Alinga.Yeung@nrc-cnrc.gc.ca>
Date: Wed, 16 Sep 2015 16:23:33 -0700
Subject: [PATCH] Story 1840. Since approvePendingUser() returns the approved
 user, added code to print details of the approved user.

---
 .../cadc/ac/admin/AbstractUserCommand.java    | 26 +++++++++++++++++++
 .../src/ca/nrc/cadc/ac/admin/ApproveUser.java |  5 +++-
 .../src/ca/nrc/cadc/ac/admin/ViewUser.java    | 25 ------------------
 3 files changed, 30 insertions(+), 26 deletions(-)

diff --git a/projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/AbstractUserCommand.java b/projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/AbstractUserCommand.java
index 48953571..cbae5fec 100644
--- a/projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/AbstractUserCommand.java
+++ b/projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/AbstractUserCommand.java
@@ -71,9 +71,12 @@ package ca.nrc.cadc.ac.admin;
 
 import java.security.AccessControlException;
 import java.security.Principal;
+import java.util.Set;
 
 import org.apache.log4j.Logger;
 
+import ca.nrc.cadc.ac.PersonalDetails;
+import ca.nrc.cadc.ac.User;
 import ca.nrc.cadc.ac.UserNotFoundException;
 import ca.nrc.cadc.auth.HttpPrincipal;
 import ca.nrc.cadc.net.TransientException;
@@ -117,4 +120,27 @@ public abstract class AbstractUserCommand extends AbstractCommand
             this.systemOut.println(msg);
         } 
     }
+    
+    protected void printUser(final User<Principal> user)
+    {
+        if (user != null)
+        {
+            // print all user identities
+            this.systemOut.println("Identitities");
+            Set<Principal> principals = user.getIdentities();
+            for (final Principal p : principals)
+            {
+                this.systemOut.println(p.toString());
+            }
+            
+            this.systemOut.println();
+            
+            // print user's personal details
+            PersonalDetails personalDetails = user.getUserDetail(PersonalDetails.class);
+            if (personalDetails != null)
+            {
+                this.systemOut.println(personalDetails.toStringFormatted());
+            }
+        }
+    }
 }
diff --git a/projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/ApproveUser.java b/projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/ApproveUser.java
index 145ed985..b58fa4da 100644
--- a/projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/ApproveUser.java
+++ b/projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/ApproveUser.java
@@ -70,9 +70,11 @@
 package ca.nrc.cadc.ac.admin;
 
 import java.security.AccessControlException;
+import java.security.Principal;
 
 import org.apache.log4j.Logger;
 
+import ca.nrc.cadc.ac.User;
 import ca.nrc.cadc.ac.UserNotFoundException;
 import ca.nrc.cadc.net.TransientException;
 
@@ -98,8 +100,9 @@ public class ApproveUser extends AbstractUserCommand
     protected void execute() 
 	throws AccessControlException, UserNotFoundException, TransientException 
     {
-        this.getUserPersistence().approvePendingUser(this.getPrincipal());
+        User<Principal> user = this.getUserPersistence().approvePendingUser(this.getPrincipal());
         String msg = "User " + this.getPrincipal().getName() + " was approved successfully.";
         this.systemOut.println(msg);
+        this.printUser(user);
     }
 }
diff --git a/projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/ViewUser.java b/projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/ViewUser.java
index 69442f6d..5ebe0328 100644
--- a/projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/ViewUser.java
+++ b/projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/ViewUser.java
@@ -71,11 +71,9 @@ package ca.nrc.cadc.ac.admin;
 
 import java.security.AccessControlException;
 import java.security.Principal;
-import java.util.Set;
 
 import org.apache.log4j.Logger;
 
-import ca.nrc.cadc.ac.PersonalDetails;
 import ca.nrc.cadc.ac.User;
 import ca.nrc.cadc.ac.UserNotFoundException;
 import ca.nrc.cadc.net.TransientException;
@@ -114,27 +112,4 @@ public class ViewUser extends AbstractUserCommand
             this.printUser(user);
         } 
     }
-	
-    protected void printUser(final User<Principal> user)
-    {
-        if (user != null)
-        {
-            // print all user identities
-            this.systemOut.println("Identitities");
-            Set<Principal> principals = user.getIdentities();
-            for (final Principal p : principals)
-            {
-                this.systemOut.println(p.toString());
-            }
-			
-            this.systemOut.println();
-			
-            // print user's personal details
-            PersonalDetails personalDetails = user.getUserDetail(PersonalDetails.class);
-            if (personalDetails != null)
-            {
-                this.systemOut.println(personalDetails.toStringFormatted());
-            }
-        }
-    }
 }
-- 
GitLab