1 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 21 public class UIViewUserInGroup extends UIGrid { 22 23 private UIPageListIterator uiPageIterator_ ; 24 private UIMembershipForm uiMembershipForm_ ; 25 26 public UIViewUserInGroup() throws Exception { 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 getData(String 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 o) { user_ = (User) o; } 63 } 64 65 public void update() throws Exception { 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 { 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 |