KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > appfuse > webapp > action > ActiveUserList


1 package org.appfuse.webapp.action;
2
3 import java.io.Serializable JavaDoc;
4 import java.util.ArrayList JavaDoc;
5 import java.util.Collections JavaDoc;
6 import java.util.Comparator JavaDoc;
7 import java.util.List JavaDoc;
8 import java.util.Set JavaDoc;
9
10 import org.appfuse.model.User;
11 import org.appfuse.webapp.listener.UserCounterListener;
12
13 public class ActiveUserList extends BasePage implements Serializable JavaDoc {
14     private static final long serialVersionUID = -2725378005612769815L;
15     private String JavaDoc sort = "username";
16     private boolean ascending = false;
17     
18     public String JavaDoc getSort(){
19         return sort;
20     }
21
22     public void setSort(String JavaDoc sort){
23         this.sort = sort;
24     }
25
26     public boolean isAscending(){
27         return ascending;
28     }
29
30     public void setAscending(boolean ascending){
31         this.ascending = ascending;
32     }
33     
34     public List JavaDoc getUsers() {
35         Set JavaDoc users = (Set JavaDoc) getServletContext().getAttribute(UserCounterListener.USERS_KEY);
36         if (users != null) {
37             List JavaDoc usersAsList = new ArrayList JavaDoc(users);
38
39             Comparator JavaDoc comparator = new Comparator JavaDoc(){
40                 public int compare(Object JavaDoc o1, Object JavaDoc o2){
41                     User u1 = (User) o1;
42                     User u2 = (User) o2;
43                     if (sort == null){
44                         return 0;
45                     }
46                     if (sort.equals("username")){
47                         return !ascending ? u1.getUsername().toLowerCase()
48                                 .compareTo(u2.getUsername().toLowerCase())
49                                 : u2.getUsername().toLowerCase()
50                                 .compareTo(u1.getUsername().toLowerCase());
51                     }
52                     if (sort.equals("fullName")){
53                         return !ascending ? u1.getFullName().toLowerCase()
54                                 .compareTo(u2.getFullName().toLowerCase())
55                                 : u2.getFullName().toLowerCase()
56                                 .compareTo(u1.getFullName().toLowerCase());
57                     }
58                     return 0;
59                 }
60             };
61             Collections.sort(usersAsList, comparator);
62             return usersAsList;
63         } else {
64             return new ArrayList JavaDoc();
65         }
66     }
67 }
68
Popular Tags