KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > browser > plugins > fractal > menu > BindInterfaceOnDropAction


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): Philippe Merle, Jerome Moroy.
23  Contributor(s): ______________________________________.
24  
25  ---------------------------------------------------------------------
26  $Id: BindInterfaceOnDropAction.java,v 1.1 2004/04/20 16:37:27 moroy Exp $
27  ====================================================================*/

28
29 package org.objectweb.util.browser.plugins.fractal.menu;
30
31 import org.objectweb.fractal.api.Component;
32 import org.objectweb.fractal.api.Interface;
33 import org.objectweb.fractal.api.control.BindingController;
34 import org.objectweb.fractal.api.type.InterfaceType;
35 import org.objectweb.util.browser.api.DropAction;
36 import org.objectweb.util.browser.api.DropTreeView;
37 import org.objectweb.util.browser.plugins.fractal.FcBrowser;
38 import org.objectweb.util.browser.plugins.fractal.context.ClientCollectionInterfaceContainer;
39
40 /**
41  * Action for binding an interface on drop.
42  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>,
43  * <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>
44  * @version 0.1
45  */

46 public class BindInterfaceOnDropAction
47   implements DropAction
48 {
49     
50     //==================================================================
51
//
52
// No internal state.
53
//
54
//==================================================================
55

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

62     //==================================================================
63
//
64
// Internal methods.
65
//
66
//==================================================================
67

68     protected String JavaDoc getName(Interface itf, int number) {
69         String JavaDoc name = FcBrowser.getName(((InterfaceType)itf.getFcItfType()));
70         return name + ((number<10)?"0":"") + number;
71     }
72     
73     //==================================================================
74
//
75
// No public method.
76
//
77
//==================================================================
78

79     /**
80      * Overriding methods
81      * @see org.objectweb.util.browser.api.DropAction#execute(org.objectweb.util.browser.api.DropTreeView)
82      */

83     public void execute(DropTreeView dropTreeView) throws Exception JavaDoc {
84         try {
85             Interface itfToBind = (Interface) dropTreeView.getDragSourceObject();
86             ClientCollectionInterfaceContainer icc = (ClientCollectionInterfaceContainer) dropTreeView.getSelectedObject();
87             int nbConnectedItf = icc.getEntries().length;
88             Interface collectionItf = icc.getItf();
89             Component component = collectionItf.getFcItfOwner();
90             BindingController bindingController = FcBrowser.getBindingController(component);
91             bindingController.bindFc(getName(collectionItf, nbConnectedItf), itfToBind);
92         } catch(ClassCastException JavaDoc e) {
93             throw new Exception JavaDoc("Interface expected!");
94         }
95     }
96     
97 }
98
99
100
Popular Tags