KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > explorer > Deployment > InstallOnComponentInstallation


1 /*====================================================================
2
3 OpenCCM: The Open CORBA Component Model Platform
4 Copyright (C) 2000-2003 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.Deployment;
27
28 import java.net.URL JavaDoc;
29
30 import org.objectweb.openccm.explorer.menu.JFileChooserSingleton;
31 import org.objectweb.openccm.explorer.menu.OpenCCMBrowserConstants;
32 import org.objectweb.util.explorer.api.MenuItem;
33 import org.objectweb.util.explorer.api.MenuItemTreeView;
34 import org.objectweb.util.explorer.api.TreeView;
35 import org.objectweb.util.explorer.swing.gui.api.DialogAction;
36 import org.objectweb.util.explorer.swing.gui.api.DialogBox;
37 import org.objectweb.util.explorer.swing.gui.lib.DefaultDialogBox;
38 import org.objectweb.util.explorer.swing.gui.lib.FileChooserBox;
39 import org.objectweb.util.explorer.swing.gui.lib.LabelBox;
40 import org.omg.Components.Deployment.ComponentInstallation;
41
42 /**
43  * The install operation installs a component on the particular host
44  * on which the ComponentInstallation object resides.
45  *
46  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a>
47  *
48  * @version 0.1
49  */

50 public class InstallOnComponentInstallation
51     implements MenuItem, DialogAction {
52
53     //==================================================================
54
//
55
// Internal states.
56
//
57
//==================================================================
58

59     /** The componentInstallation for installing selected archive. */
60     protected ComponentInstallation componentInstallation_;
61
62     /** The UUID value */
63     protected LabelBox uuid_;
64
65     /** The location value */
66     protected FileChooserBox location_;
67
68     //==================================================================
69
//
70
// No constructor.
71
//
72
//==================================================================
73

74     //==================================================================
75
//
76
// Internal methods.
77
//
78
//==================================================================
79

80     /**
81      * Creates a box containing all the box to specify all the params
82      */

83     protected void createBox(DialogBox dialogBox) {
84         uuid_ = new LabelBox("UUID");
85         dialogBox.addElementBox(uuid_);
86         location_ = new FileChooserBox("Location",JFileChooserSingleton.getInstance(OpenCCMBrowserConstants.JAR_FILE_CHOOSER));
87         dialogBox.addElementBox(location_);
88     }
89
90     //==================================================================
91
//
92
// Public methods for MenuItem interface.
93
//
94
//==================================================================
95

96     /* (non-Javadoc)
97      * @see org.objectweb.util.explorer.api.MenuItem#getStatus(org.objectweb.util.explorer.api.TreeView)
98      */

99     public int getStatus(TreeView arg0){
100         return MenuItem.ENABLED_STATUS;
101     }
102
103     /* (non-Javadoc)
104      * @see org.objectweb.util.explorer.api.MenuItem#actionPerformed(org.objectweb.util.explorer.api.MenuItemTreeView)
105      */

106     public void actionPerformed(MenuItemTreeView e) throws Exception JavaDoc {
107         componentInstallation_ = (ComponentInstallation) e.getSelectedObject();
108         DialogBox dialogBox = new DefaultDialogBox("Archive installation");
109         createBox(dialogBox);
110         dialogBox.setValidateAction(this);
111         dialogBox.setValidateLabel("Create");
112         dialogBox.setCancelLabel("Cancel");
113         dialogBox.show();
114     }
115
116     //==================================================================
117
//
118
// Public methods for DialogAction interface.
119
//
120
//==================================================================
121

122     /* (non-Javadoc)
123      * @see org.objectweb.util.explorer.swing.gui.api.DialogAction#executeAction()
124      */

125     public void executeAction() throws Exception JavaDoc {
126         URL JavaDoc theURL = location_.getURL();
127         if(theURL!=null){
128             componentInstallation_.install(uuid_.getLabel(), theURL.toString());
129         } else {
130             throw new Exception JavaDoc("Location: Malformed URL !");
131         }
132     }
133
134 }
135
Popular Tags