KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > exoplatform > portlets > portletregistery > component > UIPortletCategory


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.portletregistery.component;
6
7 import org.exoplatform.faces.core.event.CheckRoleInterceptor;
8 import org.exoplatform.faces.core.event.ExoActionEvent;
9 import org.exoplatform.faces.core.event.ExoActionListener;
10 import org.exoplatform.portal.faces.component.model.PortletCategoryData;
11 import org.exoplatform.services.portletregistery.PortletRegisteryService;
12 import java.util.*;
13 /**
14  * Created y the eXo platform team
15  * User: Benjamin Mestrallet
16  * Date: 17 juin 2004
17  */

18 public class UIPortletCategory
19     extends org.exoplatform.portal.faces.component.UIPortletCategory {
20
21   public static final String JavaDoc EDIT_CATEGORY = "editCategory";
22   public static final String JavaDoc ADD_PORTLET = "addPortlet";
23   public static final String JavaDoc DELETE_CATEGORY = "deleteCategory";
24   
25   private PortletRegisteryService service_;
26
27   public UIPortletCategory(PortletRegisteryService portletRegisteryService) {
28       super() ;
29     this.service_ = portletRegisteryService;
30     addFacesListener(new DeleteActionListener().setActionToListen(DELETE_CATEGORY));
31     addFacesListener(new EditActionListener().setActionToListen(EDIT_CATEGORY));
32     addFacesListener(new AddPortletActionListener().setActionToListen(ADD_PORTLET));
33     }
34
35   public String JavaDoc getFamily() {
36     return "org.exoplatform.portlets.portletregistery.component.UIPortletCategory";
37   }
38
39   public class DeleteActionListener extends ExoActionListener {
40     public DeleteActionListener() {
41       addInterceptor(new CheckRoleInterceptor("admin")) ;
42     }
43     
44     public void execute(ExoActionEvent event) throws Exception JavaDoc {
45       String JavaDoc categoryName = categoryData.getPortletCategoryName() ;
46       service_.removePortletCategoryByName(categoryName);
47       UIPortletCategories uiCategories = (UIPortletCategories) getParent();
48       Map dataMap = uiCategories.getPortletCaterories() ;
49       dataMap.remove(categoryName) ;
50       Iterator iterator = dataMap.values().iterator();
51       if(iterator.hasNext())
52         setPortletCategoryData((PortletCategoryData) iterator.next());
53     }
54   }
55
56   public class EditActionListener extends ExoActionListener {
57     public EditActionListener() {
58       addInterceptor(new CheckRoleInterceptor("admin")) ;
59     }
60     
61     public void execute(ExoActionEvent event) throws Exception JavaDoc {
62         UIPortletCategory uiCategory = (UIPortletCategory) event.getComponent() ;
63       UIPortletRegistry uiPortlet =
64         (UIPortletRegistry) uiCategory.getAncestorOfType(UIPortletRegistry.class);
65       UIPortletCategoryForm uiForm =
66         (UIPortletCategoryForm) uiPortlet.getChildComponentOfType(UIPortletCategoryForm.class);
67       uiForm.setPortletCategoryData(categoryData) ;
68       uiPortlet.setRenderedComponent(UIPortletCategoryForm.class);
69     }
70   }
71   
72   private class AddPortletActionListener extends ExoActionListener {
73     public AddPortletActionListener() {
74       addInterceptor(new CheckRoleInterceptor("admin")) ;
75     }
76     
77     public void execute(ExoActionEvent event) throws Exception JavaDoc {
78       UIPortletCategory uiCategory = (UIPortletCategory) event.getComponent() ;
79       UIPortletRegistry uiPortlet =
80         (UIPortletRegistry) uiCategory.getAncestorOfType(UIPortletRegistry.class);
81       UIPortletList portletList =
82         (UIPortletList) uiPortlet.getChildComponentOfType(UIPortletList.class);
83       portletList.setPortletCategoryData(categoryData);
84       uiPortlet.setRenderedComponent(UIPortletList.class);
85     }
86   }
87 }
Popular Tags