KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > explorer > Components > ConnectOnDropAction


1 /*====================================================================
2
3 OpenCCM: The Open CORBA Component Model Platform
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 package org.objectweb.openccm.explorer.Components;
27
28 import org.objectweb.util.explorer.api.DropAction;
29 import org.objectweb.util.explorer.api.DropTreeView;
30 import org.omg.Components.CCMObject;
31 import org.omg.Components.FacetDescription;
32 import org.omg.Components.ReceptacleDescription;
33
34 /**
35  * This action allows a receptacle to connect to a facet using the Drag&Drop mechanism.
36  *
37  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a>
38  *
39  * @version 0.1
40  */

41 public class ConnectOnDropAction
42     implements DropAction {
43
44     //==================================================================
45
//
46
// No internal state.
47
//
48
//==================================================================
49

50     //==================================================================
51
//
52
// No constructor.
53
//
54
//==================================================================
55

56     //==================================================================
57
//
58
// No internal method.
59
//
60
//==================================================================
61

62     //==================================================================
63
//
64
// Public methods for DropAction interface.
65
//
66
//==================================================================
67

68     /* (non-Javadoc)
69      * @see org.objectweb.util.explorer.api.DropAction#execute(org.objectweb.util.explorer.api.DropTreeView)
70      */

71     public void execute(DropTreeView dropTreeView) throws Exception JavaDoc {
72         if(dropTreeView!=null){
73             Object JavaDoc object = dropTreeView.getDragSourceObject();
74
75             org.omg.CORBA.Object JavaDoc obj_ref = null;
76             if (object instanceof org.omg.CORBA.Object JavaDoc) {
77                 obj_ref = (org.omg.CORBA.Object JavaDoc) object;
78             } else if (object instanceof FacetDescription) {
79                 obj_ref = ((FacetDescription)object).facet_ref;
80             } else {
81                 throw new Exception JavaDoc("CORBA object expected !");
82             }
83
84             ReceptacleContainer rc = (ReceptacleContainer) dropTreeView.getSelectedObject();
85             ReceptacleDescription receptacle = rc.getReceptacle();
86             CCMObject component = rc.getComponent();
87             if (component != null && receptacle != null && obj_ref != null) {
88                 component.connect(receptacle.name, obj_ref);
89             }
90         }
91     }
92
93 }
94
Popular Tags