Now working with both hibernate and eclipselink
[utils] / security / impl / src / main / java / org / wamblee / usermgt / UserAdministrationImpl.java
index 6866d45416a6e93f9eb4b9abfff262d62ff14d66..3dc00e06838e709b36a2e7af914d31d24aadda87 100644 (file)
@@ -12,7 +12,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */ 
+ */
 package org.wamblee.usermgt;
 
 import static org.wamblee.usermgt.UserMgtException.Reason.DUPLICATE_GROUP;
@@ -22,6 +22,7 @@ import static org.wamblee.usermgt.UserMgtException.Reason.TRIVIAL_RENAME;
 import static org.wamblee.usermgt.UserMgtException.Reason.UNKNOWN_GROUP;
 import static org.wamblee.usermgt.UserMgtException.Reason.UNKNOWN_USER;
 
+import java.util.HashSet;
 import java.util.Set;
 
 /**
@@ -125,7 +126,11 @@ public class UserAdministrationImpl implements UserAdministration {
      * @see org.wamblee.usermgt.UserAdministration#getUser(java.lang.String)
      */
     public User getUser(String aName) {
-        return users.find(aName);
+        User user = users.find(aName);
+        if (user == null) {
+            return user;
+        }
+        return new User(user);
     }
 
     /*
@@ -134,7 +139,11 @@ public class UserAdministrationImpl implements UserAdministration {
      * @see org.wamblee.usermgt.UserAdministration#getGroup(java.lang.String)
      */
     public Group getGroup(String aName) {
-        return groups.find(aName);
+        Group group = groups.find(aName);
+        if ( group == null ) {
+            return group;
+        }
+        return new Group(group);
     }
 
     /*
@@ -143,7 +152,11 @@ public class UserAdministrationImpl implements UserAdministration {
      * @see org.wamblee.usermgt.UserAdministration#getUsers()
      */
     public Set<User> getUsers() {
-        return users.list();
+        Set<User> res = new HashSet<User>(); 
+        for (User user: users.list()) { 
+            res.add(new User(user));
+        }
+        return res; 
     }
 
     /*
@@ -154,7 +167,11 @@ public class UserAdministrationImpl implements UserAdministration {
      * )
      */
     public Set<User> getUsers(Group aGroup) {
-        return users.list(aGroup);
+        Set<User> res = new HashSet<User>(); 
+        for (User user: users.list(aGroup)) { 
+            res.add(new User(user));
+        }
+        return res;
     }
 
     /*
@@ -163,7 +180,11 @@ public class UserAdministrationImpl implements UserAdministration {
      * @see org.wamblee.usermgt.UserAdministration#getGroups()
      */
     public Set<Group> getGroups() {
-        return groups.list();
+        Set<Group> res = new HashSet<Group>(); 
+        for (Group group: groups.list()) { 
+            res.add(new Group(group));
+        }
+        return res; 
     }
 
     /*
@@ -215,7 +236,7 @@ public class UserAdministrationImpl implements UserAdministration {
         }
 
         userValidator.validate(aUserName);
-  
+
         aUser.setName(aUserName);
         users.userModified(aUser);
     }
@@ -240,7 +261,7 @@ public class UserAdministrationImpl implements UserAdministration {
         }
 
         groupValidator.validate(aGroupName);
-      
+
         aGroup.setName(aGroupName);
         groups.groupModified(aGroup);
     }