KickJava   Java API By Example, From Geeks To Geeks.

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


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.PublisherDescription;
31 import org.omg.Components.CCMObject;
32 import org.omg.Components.ConsumerDescription;
33
34
35 /**
36  * This action allows a component to subscribe to a publisher using the Drag&Drop mechanism
37  * (<code>::Components::CCMObject::subscribe</code> called).
38  *
39  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a>
40  *
41  * @version 0.1
42  */

43 public class SubscribeOnDropAction
44     implements DropAction {
45
46     //==================================================================
47
//
48
// No internal state.
49
//
50
//==================================================================
51

52     //==================================================================
53
//
54
// No constructor.
55
//
56
//==================================================================
57

58     //==================================================================
59
//
60
// No internal method.
61
//
62
//==================================================================
63

64     //==================================================================
65
//
66
// Public methods for DropAction interface.
67
//
68
//==================================================================
69

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

73     public void execute(DropTreeView dropTreeView) throws Exception JavaDoc {
74         if(dropTreeView!=null){
75             ConsumerDescription consumer = (ConsumerDescription) dropTreeView.getDragSourceObject();
76             PublisherContainer pc = (PublisherContainer) dropTreeView.getSelectedObject();
77             PublisherDescription publisher = pc.getPublisher();
78             CCMObject component = pc.getComponent();
79             if (component != null && publisher != null && consumer != null) {
80                 component.subscribe(publisher.name, consumer.consumer);
81             }
82         }
83     }
84
85 }
Popular Tags