KickJava   Java API By Example, From Geeks To Geeks.

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


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 javax.faces.context.FacesContext;
8 import org.exoplatform.faces.core.component.UISimpleForm;
9 import org.exoplatform.faces.core.component.UIStringInput;
10 import org.exoplatform.faces.core.component.UITextArea;
11 import org.exoplatform.faces.core.component.model.*;
12 import org.exoplatform.faces.core.event.ExoActionEvent;
13 import org.exoplatform.faces.core.event.ExoActionListener;
14 import org.exoplatform.portlets.user.component.UIOrganizationPortlet.UIMembershipNode;
15 import org.exoplatform.services.organization.MembershipType;
16 import org.exoplatform.services.organization.OrganizationService;
17 /**
18  * Sat, Jan 03, 2004 @ 11:16
19  * @author: Tuan Nguyen
20  * @email: tuan08@users.sourceforge.net
21  * @version: $Id: UIMembershipTypeForm.java,v 1.10 2004/09/21 00:16:12 tuan08 Exp $
22  */

23 public class UIMembershipTypeForm extends UISimpleForm {
24   private MembershipType membershipType_ ;
25   private UIStringInput nameInput_ ;
26   private UITextArea descriptionInput_ ;
27   private OrganizationService service_ ;
28
29   public UIMembershipTypeForm(OrganizationService service) throws Exception JavaDoc {
30     super("membershipTypeForm", "post", null) ;
31     service_ = service ;
32     nameInput_ = new UIStringInput("name", "") ;
33     descriptionInput_ = new UITextArea("description", "") ;
34     add(new HeaderRow().
35         add(new Cell("#{UIMembershipTypeForm.header}").
36             addColspan("2")));
37     add(new Row().
38         add(new LabelCell("#{UIMembershipTypeForm.label.name}")).
39         add(new ComponentCell(this, nameInput_)));
40     add(new Row().
41         add(new LabelCell("#{UIMembershipTypeForm.label.description}")).
42         add(new ComponentCell(this, descriptionInput_)));
43     add(new Row().
44         add(new ListComponentCell().
45             add(new FormButton("#{UIMembershipTypeForm.button.save}", SAVE_ACTION)).
46             add(new FormButton("#{UIMembershipTypeForm.button.cancel}", CANCEL_ACTION)).
47             addColspan("2").addAlign("center"))) ;
48     
49     addActionListener(SaveActionListener.class, SAVE_ACTION) ;
50     addActionListener(CancelActionListener.class, CANCEL_ACTION) ;
51   }
52   
53   public void setMembershipType(String JavaDoc name) throws Exception JavaDoc {
54     membershipType_ = service_.findMembershipType(name) ;
55     nameInput_.setValue(name) ;
56     nameInput_.setEditable(false) ;
57     descriptionInput_.setValue(membershipType_.getDescription()) ;
58   }
59
60   public void addMembershipType() {
61     membershipType_ = null ;
62     nameInput_.setValue("") ;
63     nameInput_.setEditable(true) ;
64     descriptionInput_.setValue("") ;
65   }
66   
67   static public class SaveActionListener extends ExoActionListener {
68     public void execute(ExoActionEvent event) throws Exception JavaDoc {
69       UIMembershipTypeForm uiForm = (UIMembershipTypeForm) event.getSource() ;
70         String JavaDoc user = FacesContext.getCurrentInstance().getExternalContext().getRemoteUser();
71       if(user == null ) user = "" ;
72       if (uiForm.membershipType_ == null) {
73          uiForm.membershipType_ = uiForm.service_.createMembershipTypeInstance() ;
74          uiForm.membershipType_.setName(uiForm.nameInput_.getValue()) ;
75          uiForm.membershipType_.setDescription(uiForm.descriptionInput_.getValue()) ;
76          uiForm.membershipType_.setOwner(user) ;
77          uiForm.service_.createMembershipType(uiForm.membershipType_) ;
78        } else {
79          uiForm.membershipType_.setDescription(uiForm.descriptionInput_.getValue()) ;
80          uiForm.service_.saveMembershipType(uiForm.membershipType_) ;
81        }
82        UIMembershipNode uiController = (UIMembershipNode) uiForm.getParent() ;
83        UIListMembershipType uiList =
84         (UIListMembershipType)uiController.getChildComponentOfType(UIListMembershipType.class) ;
85        uiList.update() ;
86        uiController.setRenderedComponent(uiList.getId()) ;
87     }
88   }
89   
90   static public class CancelActionListener extends ExoActionListener {
91     public void execute(ExoActionEvent event) throws Exception JavaDoc {
92       UIMembershipTypeForm uiForm = (UIMembershipTypeForm) event.getSource() ;
93         UIMembershipNode uiController = (UIMembershipNode) uiForm.getParent() ;
94       uiController.setRenderedComponent(UIListMembershipType.class) ;
95     }
96   }
97 }
Popular Tags