KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > fractal > explorer > menu > StartComponentAction


1 /*====================================================================
2  
3  Objectweb Browser Framework
4  Copyright (C) 2000-2004 INRIA & USTL - LIFL - GOAL
5  Contact: openccm@objectweb.org
6  
7  This library is free software; you can redistribute it and/or
8  modify it under the terms of the GNU Lesser General Public
9  License as published by the Free Software Foundation; either
10  version 2.1 of the License, or any later version.
11  
12  This library is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  Lesser General Public License for more details.
16  
17  You should have received a copy of the GNU Lesser General Public
18  License along with this library; if not, write to the Free Software
19  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20  USA
21  
22  Initial developer(s): Jerome Moroy.
23  Contributor(s): ______________________________________.
24  
25  ---------------------------------------------------------------------
26  $Id: StartComponentAction.java,v 1.3 2004/11/15 16:44:24 moroy Exp $
27  ====================================================================*/

28
29 package org.objectweb.fractal.explorer.menu;
30
31 import org.objectweb.fractal.api.Component;
32 import org.objectweb.fractal.api.NoSuchInterfaceException;
33 import org.objectweb.fractal.api.control.IllegalLifeCycleException;
34 import org.objectweb.fractal.api.control.LifeCycleController;
35 import org.objectweb.fractal.explorer.FcExplorer;
36 import org.objectweb.util.explorer.api.MenuItem;
37 import org.objectweb.util.explorer.api.MenuItemTreeView;
38 import org.objectweb.util.explorer.api.TreeView;
39
40 /**
41  * This action allows to start/stop the component.
42  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a>
43  * @version 0.1
44  */

45 public class StartComponentAction
46   implements MenuItem
47 {
48     
49     //==================================================================
50
//
51
// No internal state.
52
//
53
//==================================================================
54

55     //==================================================================
56
//
57
// No constructor.
58
//
59
//==================================================================
60

61     //==================================================================
62
//
63
// No internal method.
64
//
65
//==================================================================
66

67     //==================================================================
68
//
69
// Public methods for ExtendedActionListener interface.
70
//
71
//==================================================================
72

73     /* (non-Javadoc)
74      * @see org.objectweb.util.explorer.api.MenuItem#actionPerformed(org.objectweb.util.explorer.api.MenuItemTreeView)
75      */

76     public void actionPerformed(MenuItemTreeView e) {
77         Component ci = (Component)e.getSelectedObject();
78         try {
79             LifeCycleController lcc = FcExplorer.getLifeCycleController(ci);
80             lcc.startFc();
81         } catch (NoSuchInterfaceException e1) {
82             e1.printStackTrace();
83         } catch (IllegalLifeCycleException e1) {
84             e1.printStackTrace();
85         }
86     }
87     
88     /* (non-Javadoc)
89      * @see org.objectweb.util.explorer.api.MenuItem#getStatus(org.objectweb.util.explorer.api.TreeView)
90      */

91     public int getStatus(TreeView treeView) {
92         Component ci = (Component)treeView.getSelectedObject();
93         try {
94             LifeCycleController lcc = FcExplorer.getLifeCycleController(ci);
95             String JavaDoc status = lcc.getFcState();
96             if (status.equals(LifeCycleController.STARTED))
97                 return MenuItem.NOT_VISIBLE_STATUS;
98         } catch (NoSuchInterfaceException e) {
99             return MenuItem.NOT_VISIBLE_STATUS;
100         }
101         return MenuItem.ENABLED_STATUS;
102     }
103 }
Popular Tags