KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > exoplatform > portlets > user > component > UIViewUserInGroup


1 /***************************************************************************
2  * Copyright 2001-2003 The eXo Platform SARL All rights reserved. *
3  * Please look at license.txt in info directory for more license detail. *
4  **************************************************************************/

5 package org.exoplatform.portlets.user.component;
6
7 import org.exoplatform.commons.utils.PageList;
8 import org.exoplatform.faces.core.component.UIExoComponent;
9 import org.exoplatform.faces.core.component.UIGrid;
10 import org.exoplatform.faces.core.component.UIPageListIterator;
11 import org.exoplatform.faces.core.component.model.*;
12 import org.exoplatform.faces.core.event.UIComponentObserver;
13 import org.exoplatform.services.organization.Group;
14 import org.exoplatform.services.organization.User;
15 /**
16  * Sat, Jan 03, 2004 @ 11:16
17  * @author: Tuan Nguyen
18  * @email: tuan08@users.sourceforge.net
19  * @version: $Id: UIViewUserInGroup.java,v 1.1 2004/10/22 14:23:30 tuan08 Exp $
20  */

21 public class UIViewUserInGroup extends UIGrid {
22   
23     private UIPageListIterator uiPageIterator_ ;
24   private UIMembershipForm uiMembershipForm_ ;
25     
26     public UIViewUserInGroup() throws Exception JavaDoc {
27     uiMembershipForm_ = new UIMembershipForm() ;
28     uiMembershipForm_.setRendered(false);
29     uiMembershipForm_.setId("UIMembershipFormForGroup") ;
30         uiPageIterator_ = new UIPageListIterator(new UserDataHandler()) ;
31         add(new Rows(uiPageIterator_.getPageListDataHandler(), "even", "odd").
32                 add(new Column("#{UIViewUserInGroup.header.user-name}", "userName")).
33                 add(new Column("#{UIViewUserInGroup.header.first-name}", "firstName")).
34                 add(new Column("#{UIViewUserInGroup.header.last-name}", "lastName")).
35                 add(new Column("#{UIViewUserInGroup.header.email}", "email")));
36         add(new Row().
37                 add(new ComponentCell(this, uiPageIterator_).
38                         addColspan("4").addStyle("text-align: right")));
39     add(new Row().
40         add(new ComponentCell(this, uiMembershipForm_).
41             addColspan("4")));
42     uiPageIterator_.setPageList(PageList.EMPTY_LIST) ;
43     }
44   
45     public void registerComponentObserver(UIExoComponent parent) {
46       UIGroupExplorer uiExplorer =
47       (UIGroupExplorer) parent.getAncestorOfType(UIGroupExplorer.class) ;
48     uiExplorer.addObserver(new GroupChangeObserver());
49     }
50     
51     static public class UserDataHandler extends PageListDataHandler {
52         private User user_ ;
53         
54         public String JavaDoc getData(String JavaDoc fieldName) {
55             if("userName".equals(fieldName)) return user_.getUserName() ;
56             if("lastName".equals(fieldName)) return user_.getLastName() ;
57             if("firstName".equals(fieldName)) return user_.getFirstName() ;
58             if("email".equals(fieldName)) return user_.getEmail() ;
59             return null ;
60         }
61     
62         public void setCurrentObject(Object JavaDoc o) { user_ = (User) o; }
63     }
64   
65   public void update() throws Exception JavaDoc {
66     UIGroupExplorer uiExplorer =
67       (UIGroupExplorer) getAncestorOfType(UIGroupExplorer.class) ;
68     uiPageIterator_.setPageList(uiExplorer.getMemberOfTheCurrentGroup()) ;
69   }
70   
71     public class GroupChangeObserver extends UIComponentObserver {
72       public void onChange(UIExoComponent target) throws Exception JavaDoc {
73         UIGroupExplorer uiExplorer = (UIGroupExplorer) target ;
74       uiPageIterator_.setPageList(uiExplorer.getMemberOfTheCurrentGroup()) ;
75       Group group = uiExplorer.getCurrentGroup();
76       if(group == null) {
77         uiMembershipForm_.setRendered(false);
78       } else {
79         uiMembershipForm_.setRendered(true);
80         uiMembershipForm_.populateFormByGroup(group.getId());
81       }
82       }
83     }
84 }
Popular Tags