KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > exoplatform > portal > faces > listener > container > PlaceBodyActionListener


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.portal.faces.listener.container;
6
7 import org.exoplatform.faces.core.event.ExoActionEvent;
8 import org.exoplatform.faces.core.event.ExoActionListener;
9 import org.exoplatform.portal.faces.component.UIBody;
10 import org.exoplatform.portal.faces.component.UIContainer;
11 import org.exoplatform.portal.faces.component.UIPage;
12 import org.exoplatform.portal.faces.component.UIPortal;
13 /**
14  * @author Tuan Nguyen (tuan08@users.sourceforge.net)
15  * @since Aug 16, 2004
16  * @version $Id: PlaceBodyActionListener.java,v 1.1 2004/09/26 02:25:47 tuan08 Exp $
17  */

18 public class PlaceBodyActionListener extends ExoActionListener {
19   public void execute(ExoActionEvent event) throws Exception JavaDoc {
20     UIContainer uiContainer = (UIContainer) event.getSource();
21     Object JavaDoc ancestor = uiContainer.getAncestorOfType(UIPage.class) ;
22     if(ancestor != null) {
23       //cannot put the body in page
24
return ;
25     }
26         UIPortal uiPortal = (UIPortal)uiContainer.getAncestorOfType(UIPortal.class) ;
27         UIBody uiBody = uiPortal.findUIBody() ;
28       UIContainer uiBodyParent =(UIContainer) uiBody.getParent() ;
29         uiBodyParent.removeChild(uiBody) ;
30         uiContainer.getChildren().add(uiBody) ;
31   }
32 }
Popular Tags