KickJava   Java API By Example, From Geeks To Geeks.

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


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 java.text.SimpleDateFormat JavaDoc;
8 import java.util.Collection JavaDoc;
9 import java.util.List JavaDoc;
10 import org.exoplatform.faces.core.component.UIGrid;
11 import org.exoplatform.faces.core.component.model.*;
12 import org.exoplatform.faces.core.event.CheckRoleInterceptor;
13 import org.exoplatform.faces.core.event.ExoActionEvent;
14 import org.exoplatform.faces.core.event.ExoActionListener;
15 import org.exoplatform.portlets.user.component.UIOrganizationPortlet.UIMembershipNode;
16 import org.exoplatform.services.organization.MembershipType;
17 import org.exoplatform.services.organization.OrganizationService;
18
19 /**
20  * Sat, Jan 03, 2004 @ 11:16
21  * @author: Tuan Nguyen
22  * @email: tuan08@users.sourceforge.net
23  * @version: $Id: UIListMembershipType.java,v 1.9 2004/08/26 04:18:02 tuan08 Exp $
24  */

25 public class UIListMembershipType extends UIGrid {
26   private static SimpleDateFormat JavaDoc ft_ = new SimpleDateFormat JavaDoc("dd/MM/yyyy HH:mm:ss") ;
27   
28   static Parameter[] EDIT_MEMBERSHIP = {new Parameter(ACTION , "editMembership") } ;
29   static Parameter[] DELETE_MEMBERSHIP = {new Parameter(ACTION , "deleteMembership") } ;
30   static Parameter[] ADD_MEMBERSHIP = {new Parameter(ACTION , "addMembership") };
31   
32   private List JavaDoc memberships_ ;
33   private OrganizationService service_ ;
34   private MembershipDataHandler dataHandler_ ;
35   private boolean adminRole_ ;
36    
37   public UIListMembershipType(OrganizationService service) throws Exception JavaDoc {
38     setId("UIListMembershipType") ;
39     service_ = service ;
40     adminRole_ = hasRole("admin") ;
41     dataHandler_ = new MembershipDataHandler() ;
42     add(new Rows(dataHandler_, "even", "odd").
43         add(new Column("#{UIListMembershipType.header.name}", "name")).
44         add(new Column("#{UIListMembershipType.header.owner}", "owner")).
45         add(new Column("#{UIListMembershipType.header.created-date}", "createdDate")).
46         add(new Column("#{UIListMembershipType.header.modified-date}", "modifiedDate")).
47         add(new Column("#{UIListMembershipType.header.description}", "description")).
48         add(new ActionColumn("#{UIListMembershipType.header.action}", "name").
49             add(adminRole_ ,new Button("#{UIListMembershipType.button.edit}", EDIT_MEMBERSHIP)).
50             add(adminRole_ ,new Button("#{UIListMembershipType.button.delete}", DELETE_MEMBERSHIP)).
51             setCellClass("action-column"))) ;
52     add(new Row().setClazz("footer").
53         add(new ActionCell().
54             add(adminRole_, new Button("#{UIListMembershipType.button.add}", ADD_MEMBERSHIP)).
55             addColspan("6").addAlign("center")));
56     
57     addActionListener(AddMembershipActionListener.class, "addMembership") ;
58     addActionListener(EditMembershipActionListener.class, "editMembership") ;
59     addActionListener(DeleteMembershipActionListener.class, "deleteMembership") ;
60     update() ;
61   }
62   
63   public void update() throws Exception JavaDoc {
64     memberships_ =(List JavaDoc)service_.findMembershipTypes();
65     dataHandler_.setDatas(memberships_) ;
66   }
67   
68   public Collection JavaDoc getMembershipTypes() { return memberships_ ; }
69   
70   static public class MembershipDataHandler extends ListDataHandler {
71     private MembershipType membership_ ;
72     
73     public String JavaDoc getData(String JavaDoc fieldName) {
74         if("name".equals(fieldName)) return membership_.getName() ;
75       if("owner".equals(fieldName)) return membership_.getOwner() ;
76       if("createdDate".equals(fieldName)) return ft_.format(membership_.getCreatedDate()) ;
77       if("modifiedDate".equals(fieldName)) return ft_.format(membership_.getModifiedDate());
78       if("description".equals(fieldName)) return membership_.getDescription() ;
79         return null ;
80     }
81     
82     public void setCurrentObject(Object JavaDoc o) { membership_ = (MembershipType) o; }
83   }
84   
85   static public class AddMembershipActionListener extends ExoActionListener {
86     public AddMembershipActionListener() {
87       addInterceptor(new CheckRoleInterceptor("admin")) ;
88     }
89     
90     public void execute(ExoActionEvent event) throws Exception JavaDoc {
91       UIListMembershipType uiList = (UIListMembershipType) event.getComponent() ;
92         UIMembershipNode uiController = (UIMembershipNode) uiList.getParent() ;
93       UIMembershipTypeForm uiForm =
94         (UIMembershipTypeForm)uiController.getChildComponentOfType(UIMembershipTypeForm.class) ;
95       uiForm.addMembershipType() ;
96       uiController.setRenderedComponent(uiForm.getId()) ;
97     }
98   }
99   
100   static public class EditMembershipActionListener extends ExoActionListener {
101     public EditMembershipActionListener() {
102       addInterceptor(new CheckRoleInterceptor("admin")) ;
103     }
104     
105     public void execute(ExoActionEvent event) throws Exception JavaDoc {
106       UIListMembershipType uiList = (UIListMembershipType) event.getComponent() ;
107         String JavaDoc name = event.getParameter(OBJECTID) ;
108       UIMembershipNode uiController = (UIMembershipNode) uiList.getParent() ;
109       UIMembershipTypeForm uiForm =
110         (UIMembershipTypeForm)uiController.getChildComponentOfType(UIMembershipTypeForm.class) ;
111       uiForm.setMembershipType(name) ;
112       uiController.setRenderedComponent(uiForm.getId()) ;
113     }
114   }
115   
116   static public class DeleteMembershipActionListener extends ExoActionListener {
117     public DeleteMembershipActionListener() {
118       addInterceptor(new CheckRoleInterceptor("admin")) ;
119     }
120     
121     public void execute(ExoActionEvent event) throws Exception JavaDoc {
122       UIListMembershipType uiList = (UIListMembershipType) event.getComponent() ;
123         String JavaDoc name = event.getParameter(OBJECTID) ;
124       uiList.service_.removeMembershipType(name) ;
125       uiList.update() ;
126     }
127   }
128 }
Popular Tags