KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sape > carbon > services > console > Configurator


1 package org.sape.carbon.services.console;
2
3 import java.awt.CardLayout JavaDoc;
4 import java.awt.Point JavaDoc;
5 import java.awt.Rectangle JavaDoc;
6 import java.util.Collection JavaDoc;
7 import java.util.HashMap JavaDoc;
8 import java.util.Iterator JavaDoc;
9 import java.util.Map JavaDoc;
10 import java.util.Set JavaDoc;
11 import java.util.TreeMap JavaDoc;
12 import java.util.TreeSet JavaDoc;
13
14 import javax.swing.JFrame JavaDoc;
15 import javax.swing.tree.DefaultMutableTreeNode JavaDoc;
16 import javax.swing.tree.DefaultTreeModel JavaDoc;
17 import javax.swing.tree.MutableTreeNode JavaDoc;
18 import javax.swing.tree.TreePath JavaDoc;
19
20 import org.sape.carbon.core.component.Component;
21 import org.sape.carbon.core.component.Lookup;
22 import org.sape.carbon.core.config.Config;
23 import org.sape.carbon.core.config.Configuration;
24 import org.sape.carbon.core.config.ConfigurationException;
25 import org.sape.carbon.core.config.node.ConfigurationDocument;
26 import org.sape.carbon.core.config.node.Folder;
27 import org.sape.carbon.core.config.node.Node;
28 import org.sape.carbon.core.config.node.NodeRemovalException;
29 import org.sape.carbon.core.exception.ExceptionUtility;
30 import org.sape.carbon.core.util.reflection.ClassFinder;
31
32 import org.apache.commons.logging.Log;
33 import org.apache.commons.logging.LogFactory;
34
35
36 /**
37  * <P>This class provides a basic interface to the Carbon Component Model and
38  * the configuration subsystem.</P>
39  *
40  * Copyright 2002 Sapient
41  * @since carbon 1.0
42  * @author Greg Hinkle, January 2002
43  * @version $Revision: 1.27 $($Author: atayal $ / $Date: 2003/04/29 13:40:31 $)
44  */

45 public class Configurator extends JFrame JavaDoc {
46
47     private Log log = LogFactory.getLog(this.getClass());
48  // protected ConfigurationService config;
49

50     private ClassFinder configurationClassFinder;
51     private ClassFinder componentClassFinder;
52
53     private ConfiguratorConfiguration configuratorConfig;
54
55     // Holds ServerConnectionPane
56
private Map JavaDoc serverConnections = new HashMap JavaDoc();
57
58     /** Creates new form Configurator */
59     public Configurator() {
60         this.setLocation(200,100);
61         initComponents();
62         refreshMenuItemActionPerformed(null);
63
64         setup();
65         //this.menuBar.add(new WindowMenu(this.desktopPane));
66
//loadConfigurationChoices();
67
}
68
69     private void setup() {
70
71         DefaultMutableTreeNode JavaDoc rootNode = new DefaultMutableTreeNode JavaDoc();
72         DefaultMutableTreeNode JavaDoc localServer = new DefaultMutableTreeNode JavaDoc("Local JVM");
73         rootNode.add(localServer);
74
75         this.serverSelectTree.setModel(new DefaultTreeModel JavaDoc(rootNode));
76
77         try {
78             this.configuratorConfig =
79                 (ConfiguratorConfiguration)
80                 Config.getInstance().fetchConfiguration("/core/ConfiguratorPrefs");
81
82             this.setBounds(
83                 this.configuratorConfig.getX(),
84                 this.configuratorConfig.getY(),
85                 this.configuratorConfig.getWidth(),
86                 this.configuratorConfig.getHeight());
87
88         } catch (Exception JavaDoc e) {
89             //e.printStackTrace();
90

91             if (this.configuratorConfig == null) {
92                 this.configuratorConfig =
93                     (ConfiguratorConfiguration)
94                     Config.getInstance().createConfiguration(ConfiguratorConfiguration.class);
95                 this.configuratorConfig.setConfigurationName("/core/ConfiguratorPrefs");
96             }
97         }
98     }
99
100     private void tearDown() {
101         Rectangle JavaDoc bounds = this.getBounds();
102         this.configuratorConfig.setX(bounds.x);
103         this.configuratorConfig.setY(bounds.y);
104         this.configuratorConfig.setWidth(bounds.width);
105         this.configuratorConfig.setHeight(bounds.height);
106         try {
107             Config.getInstance().storeConfiguration(
108                 this.configuratorConfig.getConfigurationName(),
109                 this.configuratorConfig);
110         } catch (Exception JavaDoc e) {
111             e.printStackTrace();
112         }
113     }
114
115     private void loadConfigurationChoices() {
116
117         if (this.configurationClassFinder == null)
118             this.configurationClassFinder =
119                 new ClassFinder(Configuration.class,"sapient");
120
121         Set JavaDoc classSet = this.configurationClassFinder.getClasses();
122         TreeSet JavaDoc orderedClasses = new TreeSet JavaDoc(classSet);
123         Iterator JavaDoc classes = orderedClasses.iterator();
124         while (classes.hasNext()) {
125
126             this.newConfigurationSubMenu.add(classes.next().toString());
127         }
128     }
129
130     public void connectToServer(
131         String JavaDoc initialContextFactory,
132         String JavaDoc serverURL,
133         String JavaDoc principle,
134         String JavaDoc credentials) {
135
136
137         DefaultTreeModel JavaDoc model = (DefaultTreeModel JavaDoc) this.serverSelectTree.getModel();
138         DefaultMutableTreeNode JavaDoc root = (DefaultMutableTreeNode JavaDoc) model.getRoot();
139         root.add(new DefaultMutableTreeNode JavaDoc(serverURL));
140         model.setRoot(root);
141         this.serverSelectTree.repaint();
142
143         ServerConnectionPane serverConnection = null;
144         if ("com.sun.jndi.rmi.registry.RegistryContextFactory".equals(initialContextFactory)) {
145             serverConnection = new Mx4jServerConnection(initialContextFactory, serverURL, this.desktopPane);
146         } else if ("weblogic.jndi.WLInitialContextFactory".equals(initialContextFactory)) {
147             serverConnection = new WebLogicServerConnection(initialContextFactory, serverURL, principle, credentials, this.desktopPane);
148         } else {
149             // TODO GH: blow up nicely
150
}
151
152
153         this.serverConnectHolderPane.add(serverConnection, serverURL);
154
155         this.serverConnections.put(serverURL, serverConnection);
156
157         ((CardLayout JavaDoc)
158         this.serverConnectHolderPane.getLayout()).show(serverConnectHolderPane,serverURL);
159
160         final ServerConnectionPane sConn = serverConnection;
161         Thread JavaDoc thread = new Thread JavaDoc(new Runnable JavaDoc() {
162             public void run() {
163                 sConn.refreshMBeans();
164             }
165         });
166         thread.start();
167     }
168
169
170     /** This method is called from within the constructor to
171      * initialize the form.
172      * WARNING: Do NOT modify this code. The content of this method is
173      * always regenerated by the Form Editor.
174      */

175     private void initComponents() {//GEN-BEGIN:initComponents
176
configDocumentPopupMenu = new javax.swing.JPopupMenu JavaDoc();
177         nsOpenMenuItem = new javax.swing.JMenuItem JavaDoc();
178         nsDeleteMenuItem = new javax.swing.JMenuItem JavaDoc();
179         jSeparator1 = new javax.swing.JSeparator JavaDoc();
180         nsCutMenuItem = new javax.swing.JMenuItem JavaDoc();
181         nsCopyMenuItem = new javax.swing.JMenuItem JavaDoc();
182         nsPasteMenuItem = new javax.swing.JMenuItem JavaDoc();
183         configFolderPopupMenu = new javax.swing.JPopupMenu JavaDoc();
184         newDirectoryMenuItem = new javax.swing.JMenuItem JavaDoc();
185         newConfigurationMenuItem = new javax.swing.JMenuItem JavaDoc();
186         newConfigurationSubMenu = new javax.swing.JMenu JavaDoc();
187         componentPopupMenu = new javax.swing.JPopupMenu JavaDoc();
188         openComponentMenuItem = new javax.swing.JMenuItem JavaDoc();
189         serverSelectPopupMenu = new javax.swing.JPopupMenu JavaDoc();
190         serverDisconnectMenuItem = new javax.swing.JMenuItem JavaDoc();
191         serverRefreshMenuItem = new javax.swing.JMenuItem JavaDoc();
192         jSplitPane1 = new javax.swing.JSplitPane JavaDoc();
193         jSplitPane2 = new javax.swing.JSplitPane JavaDoc();
194         serverConnectHolderPane = new javax.swing.JPanel JavaDoc();
195         localServerTabPane = new javax.swing.JTabbedPane JavaDoc();
196         componentJScrollPane = new javax.swing.JScrollPane JavaDoc();
197         componentJTree = new javax.swing.JTree JavaDoc();
198         configJScrollPane = new javax.swing.JScrollPane JavaDoc();
199         namespaceJTree = new javax.swing.JTree JavaDoc();
200         jPanel1 = new javax.swing.JPanel JavaDoc();
201         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
202         serverSelectTree = new javax.swing.JTree JavaDoc();
203         jPanel2 = new javax.swing.JPanel JavaDoc();
204         jLabel1 = new javax.swing.JLabel JavaDoc();
205         desktopScrollPane = new javax.swing.JScrollPane JavaDoc();
206         desktopPane = new MDIDesktopPane();
207         menuBar = new javax.swing.JMenuBar JavaDoc();
208         fileMenu = new javax.swing.JMenu JavaDoc();
209         openMenuItem = new javax.swing.JMenuItem JavaDoc();
210         jSeparator2 = new javax.swing.JSeparator JavaDoc();
211         saveMenuItem = new javax.swing.JMenuItem JavaDoc();
212         saveAsMenuItem = new javax.swing.JMenuItem JavaDoc();
213         jSeparator3 = new javax.swing.JSeparator JavaDoc();
214         exitMenuItem = new javax.swing.JMenuItem JavaDoc();
215         editMenu = new javax.swing.JMenu JavaDoc();
216         cutMenuItem = new javax.swing.JMenuItem JavaDoc();
217         copyMenuItem = new javax.swing.JMenuItem JavaDoc();
218         pasteMenuItem = new javax.swing.JMenuItem JavaDoc();
219         deleteMenuItem = new javax.swing.JMenuItem JavaDoc();
220         repositoryMenu = new javax.swing.JMenu JavaDoc();
221         refreshMenuItem = new javax.swing.JMenuItem JavaDoc();
222         reloadConfigMenuItem = new javax.swing.JMenuItem JavaDoc();
223         jSeparator4 = new javax.swing.JSeparator JavaDoc();
224         loadMBeansMenuItem = new javax.swing.JMenuItem JavaDoc();
225         connectToServerMenuItem = new javax.swing.JMenuItem JavaDoc();
226         testMenu = new javax.swing.JMenu JavaDoc();
227         executeTestJMenuItem = new javax.swing.JMenuItem JavaDoc();
228         windowMenu = new WindowMenu((MDIDesktopPane)this.desktopPane);
229         helpMenu = new javax.swing.JMenu JavaDoc();
230         contentMenuItem = new javax.swing.JMenuItem JavaDoc();
231         aboutMenuItem = new javax.swing.JMenuItem JavaDoc();
232
233         nsOpenMenuItem.setText("Open");
234         nsOpenMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
235             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
236                 nsOpenMenuItemActionPerformed(evt);
237             }
238         });
239
240         configDocumentPopupMenu.add(nsOpenMenuItem);
241         nsDeleteMenuItem.setText("Delete");
242         nsDeleteMenuItem.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/rsrc/icons/Delete16.gif")));
243         nsDeleteMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
244             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
245                 nsDeleteMenuItemActionPerformed(evt);
246             }
247         });
248
249         configDocumentPopupMenu.add(nsDeleteMenuItem);
250         configDocumentPopupMenu.add(jSeparator1);
251         nsCutMenuItem.setText("Cut");
252         nsCutMenuItem.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/rsrc/icons/Cut16.gif")));
253         configDocumentPopupMenu.add(nsCutMenuItem);
254         nsCopyMenuItem.setText("Copy");
255         nsCopyMenuItem.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/rsrc/icons/Copy16.gif")));
256         configDocumentPopupMenu.add(nsCopyMenuItem);
257         nsPasteMenuItem.setText("Paste");
258         configDocumentPopupMenu.add(nsPasteMenuItem);
259         newDirectoryMenuItem.setText("New Directory..");
260         newDirectoryMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
261             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
262                 newDirectoryMenuItemActionPerformed(evt);
263             }
264         });
265
266         configFolderPopupMenu.add(newDirectoryMenuItem);
267         newConfigurationMenuItem.setText("New Configuration...");
268         newConfigurationMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
269             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
270                 newConfigurationMenuItemActionPerformed(evt);
271             }
272         });
273
274         configFolderPopupMenu.add(newConfigurationMenuItem);
275         newConfigurationSubMenu.setText("New Configuration");
276         configFolderPopupMenu.add(newConfigurationSubMenu);
277         openComponentMenuItem.setText("Open...");
278         openComponentMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
279             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
280                 openComponentMenuItemActionPerformed(evt);
281             }
282         });
283
284         componentPopupMenu.add(openComponentMenuItem);
285         serverDisconnectMenuItem.setText("Disconnect");
286         serverDisconnectMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
287             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
288                 serverDisconnectMenuItemActionPerformed(evt);
289             }
290         });
291
292         serverSelectPopupMenu.add(serverDisconnectMenuItem);
293         serverRefreshMenuItem.setText("Refresh");
294         serverRefreshMenuItem.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/rsrc/icons/Refresh16.gif")));
295         serverRefreshMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
296             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
297                 serverRefreshMenuItemActionPerformed(evt);
298             }
299         });
300
301         serverSelectPopupMenu.add(serverRefreshMenuItem);
302
303         setTitle("Framework Configurator");
304         addWindowListener(new java.awt.event.WindowAdapter JavaDoc() {
305             public void windowClosing(java.awt.event.WindowEvent JavaDoc evt) {
306                 exitForm(evt);
307             }
308         });
309
310         jSplitPane1.setDividerLocation(220);
311         jSplitPane1.setContinuousLayout(true);
312         jSplitPane1.setPreferredSize(new java.awt.Dimension JavaDoc(500, 450));
313         jSplitPane2.setDividerLocation(100);
314         jSplitPane2.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
315         serverConnectHolderPane.setLayout(new java.awt.CardLayout JavaDoc());
316
317         localServerTabPane.setFont(new java.awt.Font JavaDoc("Dialog", 0, 12));
318         componentJScrollPane.setMinimumSize(new java.awt.Dimension JavaDoc(120, 22));
319         componentJScrollPane.setPreferredSize(new java.awt.Dimension JavaDoc(120, 3));
320         componentJTree.setModel(null);
321         componentJTree.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
322             public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
323                 componentJTreeMouseClicked(evt);
324             }
325         });
326
327         componentJScrollPane.setViewportView(componentJTree);
328
329         localServerTabPane.addTab("Component", null, componentJScrollPane, "Displays components live in the system");
330
331         configJScrollPane.setMinimumSize(new java.awt.Dimension JavaDoc(120, 22));
332         configJScrollPane.setPreferredSize(new java.awt.Dimension JavaDoc(120, 3));
333         namespaceJTree.setModel(null);
334         namespaceJTree.addKeyListener(new java.awt.event.KeyAdapter JavaDoc() {
335             public void keyTyped(java.awt.event.KeyEvent JavaDoc evt) {
336                 namespaceJTreeKeyTyped(evt);
337             }
338         });
339
340         namespaceJTree.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
341             public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
342                 namespaceJTreeMouseClicked(evt);
343             }
344         });
345
346         configJScrollPane.setViewportView(namespaceJTree);
347
348         localServerTabPane.addTab("Configuration", configJScrollPane);
349
350         serverConnectHolderPane.add(localServerTabPane, "Local JVM");
351
352         jSplitPane2.setRightComponent(serverConnectHolderPane);
353
354         jPanel1.setLayout(new java.awt.BorderLayout JavaDoc());
355
356         serverSelectTree.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
357             public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
358                 serverSelectTreeMouseClicked(evt);
359             }
360         });
361
362         serverSelectTree.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener JavaDoc() {
363             public void valueChanged(javax.swing.event.TreeSelectionEvent JavaDoc evt) {
364                 serverSelectTreeValueChanged(evt);
365             }
366         });
367
368         jScrollPane1.setViewportView(serverSelectTree);
369
370         jPanel1.add(jScrollPane1, java.awt.BorderLayout.CENTER);
371
372         jLabel1.setFont(new java.awt.Font JavaDoc("Default", 0, 12));
373         jLabel1.setText("Administration Server");
374         jPanel2.add(jLabel1);
375
376         jPanel1.add(jPanel2, java.awt.BorderLayout.NORTH);
377
378         jSplitPane2.setTopComponent(jPanel1);
379
380         jSplitPane1.setLeftComponent(jSplitPane2);
381
382         desktopScrollPane.setViewportView(desktopPane);
383
384         jSplitPane1.setRightComponent(desktopScrollPane);
385
386         getContentPane().add(jSplitPane1, java.awt.BorderLayout.CENTER);
387
388         fileMenu.setText("File");
389         fileMenu.addActionListener(new java.awt.event.ActionListener JavaDoc() {
390             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
391                 fileMenuActionPerformed(evt);
392             }
393         });
394
395         openMenuItem.setText("Open");
396         fileMenu.add(openMenuItem);
397         fileMenu.add(jSeparator2);
398         saveMenuItem.setText("Save");
399         fileMenu.add(saveMenuItem);
400         saveAsMenuItem.setText("Save As ...");
401         fileMenu.add(saveAsMenuItem);
402         fileMenu.add(jSeparator3);
403         exitMenuItem.setText("Exit");
404         exitMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
405             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
406                 exitMenuItemActionPerformed(evt);
407             }
408         });
409
410         fileMenu.add(exitMenuItem);
411         menuBar.add(fileMenu);
412         editMenu.setText("Edit");
413         editMenu.addActionListener(new java.awt.event.ActionListener JavaDoc() {
414             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
415                 editMenuActionPerformed(evt);
416             }
417         });
418
419         cutMenuItem.setText("Cut");
420         editMenu.add(cutMenuItem);
421         copyMenuItem.setText("Copy");
422         editMenu.add(copyMenuItem);
423         pasteMenuItem.setText("Paste");
424         editMenu.add(pasteMenuItem);
425         deleteMenuItem.setText("Delete");
426         editMenu.add(deleteMenuItem);
427         menuBar.add(editMenu);
428         repositoryMenu.setText("Repository");
429         repositoryMenu.addActionListener(new java.awt.event.ActionListener JavaDoc() {
430             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
431                 repositoryMenuActionPerformed(evt);
432             }
433         });
434
435         refreshMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.CTRL_MASK));
436         refreshMenuItem.setText("Refresh");
437         refreshMenuItem.setName("Refresh");
438         refreshMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
439             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
440                 refreshMenuItemActionPerformed(evt);
441             }
442         });
443
444         repositoryMenu.add(refreshMenuItem);
445         reloadConfigMenuItem.setText("Reload Configuration...");
446         repositoryMenu.add(reloadConfigMenuItem);
447         repositoryMenu.add(jSeparator4);
448         loadMBeansMenuItem.setText("Load Remote MBeans");
449         loadMBeansMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
450             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
451                 loadMBeansMenuItemActionPerformed(evt);
452             }
453         });
454
455         repositoryMenu.add(loadMBeansMenuItem);
456         connectToServerMenuItem.setText("Connect to Server...");
457         connectToServerMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
458             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
459                 connectToServerMenuItemActionPerformed(evt);
460             }
461         });
462
463         repositoryMenu.add(connectToServerMenuItem);
464         menuBar.add(repositoryMenu);
465         testMenu.setText("Tests");
466         testMenu.addActionListener(new java.awt.event.ActionListener JavaDoc() {
467             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
468                 testMenuActionPerformed(evt);
469             }
470         });
471
472         executeTestJMenuItem.setText("Execute Test Harness...");
473         executeTestJMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
474             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
475                 executeTestJMenuItemActionPerformed(evt);
476             }
477         });
478
479         testMenu.add(executeTestJMenuItem);
480         menuBar.add(testMenu);
481         windowMenu.setText("Windows");
482         menuBar.add(windowMenu);
483         helpMenu.setText("Help");
484         helpMenu.addActionListener(new java.awt.event.ActionListener JavaDoc() {
485             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
486                 helpMenuActionPerformed(evt);
487             }
488         });
489
490         contentMenuItem.setText("Contents");
491         helpMenu.add(contentMenuItem);
492         aboutMenuItem.setText("About");
493         aboutMenuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
494             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
495                 aboutMenuItemActionPerformed(evt);
496             }
497         });
498
499         helpMenu.add(aboutMenuItem);
500         menuBar.add(helpMenu);
501         setJMenuBar(menuBar);
502
503         pack();
504     }//GEN-END:initComponents
505

506     private void serverRefreshMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_serverRefreshMenuItemActionPerformed
507
// Add your handling code here:
508
String JavaDoc serverName = this.serverSelectTree.getSelectionPath().getLastPathComponent().toString();
509
510         final ServerConnectionPane sConn =
511             (ServerConnectionPane)
512             this.serverConnections.get(serverName);;
513         Thread JavaDoc thread = new Thread JavaDoc(new Runnable JavaDoc() {
514             public void run() {
515                 try { Thread.sleep(500); } catch (Exception JavaDoc e) { }
516                 sConn.refreshMBeans();
517             }
518         });
519         thread.start();
520
521     }//GEN-LAST:event_serverRefreshMenuItemActionPerformed
522

523     private void namespaceJTreeKeyTyped(java.awt.event.KeyEvent JavaDoc evt) {//GEN-FIRST:event_namespaceJTreeKeyTyped
524
// Add your handling code here:
525
if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) {
526             nsOpenMenuItemActionPerformed(null);
527         }
528     }//GEN-LAST:event_namespaceJTreeKeyTyped
529

530
531     private void serverDisconnectMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_serverDisconnectMenuItemActionPerformed
532
// Add your handling code here:
533
String JavaDoc serverConnectId = this.serverSelectTree.getSelectionPath().getLastPathComponent().toString();
534
535         DefaultMutableTreeNode JavaDoc parent =
536             (DefaultMutableTreeNode JavaDoc)
537             this.serverSelectTree.getSelectionPath().getParentPath().getLastPathComponent();
538         parent.remove((MutableTreeNode JavaDoc)this.serverSelectTree.getSelectionPath().getLastPathComponent());
539         this.serverSelectTree.setModel(this.serverSelectTree.getModel());
540         this.serverSelectTree.repaint();
541
542         Object JavaDoc serverPanel = this.serverConnections.remove(serverConnectId);
543         this.serverConnectHolderPane.remove((java.awt.Component JavaDoc)serverPanel);
544
545         ((ServerConnectionPane)serverPanel).disconnect();
546
547     }//GEN-LAST:event_serverDisconnectMenuItemActionPerformed
548

549     private void serverSelectTreeMouseClicked(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_serverSelectTreeMouseClicked
550
// Add your handling code here:
551
int selRow = this.serverSelectTree.getRowForLocation(evt.getX(), evt.getY());
552         TreePath JavaDoc selPath = this.serverSelectTree.getPathForLocation(evt.getX(), evt.getY());
553         if(selRow != -1) {
554             // Handle right clicks
555
if ((evt.getModifiers() & evt.BUTTON3_MASK) > 0) {
556
557                 Point JavaDoc pt = evt.getPoint();
558
559                 TreePath JavaDoc path =
560                     this.serverSelectTree.getPathForLocation(pt.x,pt.y);
561
562                 this.serverSelectTree.setSelectionPath(path);
563
564                 String JavaDoc objName = this.serverSelectTree.getSelectionPath().getLastPathComponent().toString();
565
566                 this.serverSelectPopupMenu.show(
567                     this.serverSelectTree,
568                     pt.x, pt.y);
569
570             }
571         }
572     }//GEN-LAST:event_serverSelectTreeMouseClicked
573

574     private void serverSelectTreeValueChanged(javax.swing.event.TreeSelectionEvent JavaDoc evt) {//GEN-FIRST:event_serverSelectTreeValueChanged
575
// Add your handling code here
576
if ((evt != null) && (evt.getNewLeadSelectionPath() != null)) {
577             String JavaDoc serverName = evt.getNewLeadSelectionPath().getLastPathComponent().toString();
578             ((CardLayout JavaDoc)
579             this.serverConnectHolderPane.getLayout()).show(this.serverConnectHolderPane,serverName);
580         }
581     }//GEN-LAST:event_serverSelectTreeValueChanged
582

583     private void connectToServerMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_connectToServerMenuItemActionPerformed
584
// Add your handling code here:
585
new RemoteServerConnectDialog(this,true).show();
586     }//GEN-LAST:event_connectToServerMenuItemActionPerformed
587

588     private void loadMBeansMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_loadMBeansMenuItemActionPerformed
589
// TODO: Delete
590
}//GEN-LAST:event_loadMBeansMenuItemActionPerformed
591

592     private void nsDeleteMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_nsDeleteMenuItemActionPerformed
593
// Add your handling code here:
594
DefaultMutableTreeNode JavaDoc node =
595             (DefaultMutableTreeNode JavaDoc)
596             this.namespaceJTree.getSelectionPath().getLastPathComponent();
597
598         Node JavaDoc configNode = (Node JavaDoc) node.getUserObject();
599
600         try {
601             configNode.remove();
602             refreshConfigurations();
603         } catch (NodeRemovalException nre) {
604             log.error(
605                 "Unable to delete configuration document: " +
606                 ExceptionUtility.printStackTracesToString(nre));
607         }
608     }//GEN-LAST:event_nsDeleteMenuItemActionPerformed
609

610     private void aboutMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_aboutMenuItemActionPerformed
611
// Add your handling code here:
612
(new AboutFrame()).show();
613     }//GEN-LAST:event_aboutMenuItemActionPerformed
614

615     private void componentJTreeMouseClicked(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_componentJTreeMouseClicked
616
// Add your handling code here:
617
// Add your handling code here:
618

619         int selRow = this.componentJTree.getRowForLocation(evt.getX(), evt.getY());
620         TreePath JavaDoc selPath = this.componentJTree.getPathForLocation(evt.getX(), evt.getY());
621          if(selRow != -1) {
622              if (evt.getClickCount() == 2) {
623                 this.componentJTree.setSelectionPath(selPath);
624
625                 openComponentMenuItemActionPerformed(null);
626
627
628             } else if ((evt.getModifiers() & evt.BUTTON3_MASK) > 0) {
629                 //System.out.println("Right click: " +
630
// this.namespaceJTree.getSelectionPath().getLastPathComponent());
631

632                 Point JavaDoc pt = evt.getPoint();
633
634                 TreePath JavaDoc path =
635                     this.componentJTree.getPathForLocation(pt.x,pt.y);
636
637                 this.componentJTree.setSelectionPath(path);
638
639                 DefaultMutableTreeNode JavaDoc tn =
640                     (DefaultMutableTreeNode JavaDoc) path.getLastPathComponent();
641
642                 this.componentPopupMenu.show(this.componentJTree,pt.x,pt.y);
643             }
644          }
645     }//GEN-LAST:event_componentJTreeMouseClicked
646

647     private void openComponentMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_openComponentMenuItemActionPerformed
648
// Add your handling code here:
649

650         DefaultMutableTreeNode JavaDoc node =
651             (DefaultMutableTreeNode JavaDoc)
652             this.componentJTree.getSelectionPath().getLastPathComponent();
653
654         String JavaDoc componentName = node.getUserObject().toString();
655
656         Component component =
657             Lookup.getInstance().fetchComponent(componentName);
658
659         java.awt.Component JavaDoc componentFrame = new ComponentFrame(component);
660         this.desktopPane.add(componentFrame);
661             componentFrame.setVisible(true);
662     }//GEN-LAST:event_openComponentMenuItemActionPerformed
663

664     private void newConfigurationMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_newConfigurationMenuItemActionPerformed
665
// Add your handling code here:
666
ConfigurationWizard wizard = new ConfigurationWizard(this,true);
667         wizard.setSize(400,450);
668         wizard.setLocationRelativeTo(this);
669
670         DefaultMutableTreeNode JavaDoc treeNode =
671             (DefaultMutableTreeNode JavaDoc) this.namespaceJTree.getSelectionPath().getLastPathComponent();
672         Folder node = (Folder) treeNode.getUserObject();
673
674         wizard.setDirectoryPath(node.getAbsoluteName());
675         wizard.setVisible(true);
676         //this.windowMenu.add(new JMenuItem(node.getName()));
677

678     }//GEN-LAST:event_newConfigurationMenuItemActionPerformed
679

680     private void executeTestJMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_executeTestJMenuItemActionPerformed
681
// Add your handling code here:
682

683         //new JUnitExecutor();
684
// junit.swingui.TestRunner runner = new junit.swingui.TestRunner();
685
// runner.setLoading(false);
686
// runner.browseTestClasses();
687
//runner.start(new String[] { "" });
688

689         junit.swingui.TestRunner.main(new String JavaDoc[] { "-noloading" } );
690     }//GEN-LAST:event_executeTestJMenuItemActionPerformed
691

692     private void testMenuActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_testMenuActionPerformed
693
// Add your handling code here:
694
}//GEN-LAST:event_testMenuActionPerformed
695

696     private void editMenuActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_editMenuActionPerformed
697
// Add your handling code here:
698
}//GEN-LAST:event_editMenuActionPerformed
699

700     private void fileMenuActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_fileMenuActionPerformed
701
// Add your handling code here:
702
}//GEN-LAST:event_fileMenuActionPerformed
703

704     private void helpMenuActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_helpMenuActionPerformed
705
// Add your handling code here:
706
}//GEN-LAST:event_helpMenuActionPerformed
707

708     private void repositoryMenuActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_repositoryMenuActionPerformed
709
// Add your handling code here:
710
}//GEN-LAST:event_repositoryMenuActionPerformed
711

712     private void nsOpenMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_nsOpenMenuItemActionPerformed
713
// Add your handling code here:
714

715         DefaultMutableTreeNode JavaDoc node =
716             (DefaultMutableTreeNode JavaDoc) (this.namespaceJTree.getSelectionPath().getLastPathComponent());
717
718         Node JavaDoc configNode = (Node JavaDoc) node.getUserObject();
719
720
721         Configuration config = null;
722
723         try {
724             config = ((ConfigurationDocument)configNode).readConfiguration();
725
726             ObjectFrame objFrame =
727                 new ObjectFrame(config);
728             this.desktopPane.add(objFrame);
729             objFrame.show();
730             //this.windowMenu.add(new JMenuItem(config.getConfigurationName()));
731

732         } catch (ConfigurationException ce) {
733             ce.printStackTrace();
734         }
735     }//GEN-LAST:event_nsOpenMenuItemActionPerformed
736

737     private void newDirectoryMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_newDirectoryMenuItemActionPerformed
738
// Add your handling code here:
739
DefaultMutableTreeNode JavaDoc dmtn =
740             (DefaultMutableTreeNode JavaDoc) this.namespaceJTree.getSelectionPath().getLastPathComponent();
741
742         Node JavaDoc node =
743             (Node JavaDoc) dmtn.getUserObject();
744
745
746         //(DirNode) evt.getSource();
747
/*
748         NewDirectoryDialog ndd =
749             new NewDirectoryDialog(this, node.getFile());
750
751         ndd.show();
752          **/

753     }//GEN-LAST:event_newDirectoryMenuItemActionPerformed
754

755     private void namespaceJTreeMouseClicked(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_namespaceJTreeMouseClicked
756
// Add your handling code here:
757

758         int selRow = this.namespaceJTree.getRowForLocation(evt.getX(), evt.getY());
759         TreePath JavaDoc selPath = this.namespaceJTree.getPathForLocation(evt.getX(), evt.getY());
760          if(selRow != -1) {
761              if (evt.getClickCount() == 2) {
762                 this.namespaceJTree.setSelectionPath(selPath);
763                 if (((DefaultMutableTreeNode JavaDoc)selPath.getLastPathComponent()).getUserObject() instanceof ConfigurationDocument) {
764                     nsOpenMenuItemActionPerformed(null);
765                 }
766
767              } else if ((evt.getModifiers() & evt.BUTTON3_MASK) > 0) {
768                 //System.out.println("Right click: " +
769
// this.namespaceJTree.getSelectionPath().getLastPathComponent());
770

771                 Point JavaDoc pt = evt.getPoint();
772
773                 TreePath JavaDoc path =
774                     this.namespaceJTree.getPathForLocation(pt.x,pt.y);
775
776                 this.namespaceJTree.setSelectionPath(path);
777
778                 DefaultMutableTreeNode JavaDoc tn =
779                     (DefaultMutableTreeNode JavaDoc) path.getLastPathComponent();
780
781                 Node JavaDoc node =
782                     (Node JavaDoc)tn.getUserObject();
783
784                 if (node.getAllowsChildren()) {
785                     this.configFolderPopupMenu.show(
786                         this.namespaceJTree,
787                         pt.x,pt.y);
788                 } else {
789                     this.configDocumentPopupMenu.show(
790                         this.namespaceJTree,
791                         pt.x,pt.y);
792                 }
793             }
794         }
795     }//GEN-LAST:event_namespaceJTreeMouseClicked
796

797     private void refreshMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_refreshMenuItemActionPerformed
798
this.refreshConfigurations();
799
800         this.refreshComponents();
801     }//GEN-LAST:event_refreshMenuItemActionPerformed
802

803     public void refreshConfigurations() {
804         DefaultMutableTreeNode JavaDoc root = null;
805
806         try {
807             Node JavaDoc rootNode = Config.getInstance().fetchNode(Config.ROOT_NODE_NAME);
808             rootNode.refresh();
809             root =
810             new DefaultMutableTreeNode JavaDoc(rootNode);
811         } catch (Exception JavaDoc e) {
812             e.printStackTrace();
813         }
814         addDirectory(root);
815
816         DefaultTreeModel JavaDoc model =
817             new DefaultTreeModel JavaDoc(root);
818
819         this.namespaceJTree.setModel(model);
820         this.namespaceJTree.repaint();
821     }
822
823     public void refreshComponents() {
824
825         try {
826             DefaultMutableTreeNode JavaDoc root =
827                 new DefaultMutableTreeNode JavaDoc("Components");
828
829             Collection JavaDoc componentNames =
830                 Lookup.getInstance().getComponentKeeper().getComponentNames();
831
832             Iterator JavaDoc iter = componentNames.iterator();
833             while (iter.hasNext()) {
834                 String JavaDoc componentName = (String JavaDoc) iter.next();
835
836                 DefaultMutableTreeNode JavaDoc child =
837                     new DefaultMutableTreeNode JavaDoc(componentName);
838                 root.add(child);
839             }
840
841             DefaultTreeModel JavaDoc model =
842                 new DefaultTreeModel JavaDoc(root);
843             this.componentJTree.setModel(model);
844             this.componentJTree.repaint();
845         } catch (Exception JavaDoc e) {
846
847             e.printStackTrace();
848         }
849     }
850
851     private void addDirectory(DefaultMutableTreeNode JavaDoc node) {
852
853
854
855         Node JavaDoc tNode = (Node JavaDoc)node.getUserObject();
856
857         Node JavaDoc[] children = null;
858         try {
859             children = tNode.fetchChildren();
860         } catch (Exception JavaDoc e) {
861             //e.printStackTrace();
862
}
863
864         TreeMap JavaDoc map = new TreeMap JavaDoc(String.CASE_INSENSITIVE_ORDER);
865
866         for (int i=0;(children != null) && i<children.length;i++) {
867
868             Node JavaDoc child =
869                 children[i];
870             if (!child.isRemoved()) {
871                 map.put(child.getName(),child);
872             }
873         }
874
875         Iterator JavaDoc iter = map.values().iterator();
876         while (iter.hasNext()) {
877             Node JavaDoc child = (Node JavaDoc) iter.next();
878
879             DefaultMutableTreeNode JavaDoc childNode =
880                 new DefaultMutableTreeNode JavaDoc(child);
881
882             node.add(childNode);
883
884             if (child.getAllowsChildren() &&
885                 child.getAbsoluteName().startsWith(
886                     tNode.getAbsoluteName() + Node.DELIMITER)) {
887
888                 addDirectory(childNode);
889             }
890         }
891
892     }
893
894
895     private void exitMenuItemActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_exitMenuItemActionPerformed
896
tearDown();
897         System.exit(0);
898     }//GEN-LAST:event_exitMenuItemActionPerformed
899

900     /** Exit the Application */
901     private void exitForm(java.awt.event.WindowEvent JavaDoc evt) {//GEN-FIRST:event_exitForm
902
tearDown();
903         System.exit(0);
904     }//GEN-LAST:event_exitForm
905

906     /**
907     * @param args the command line arguments
908     */

909     public static void main(String JavaDoc args[]) {
910         try {
911             new Configurator().show();
912         } catch (Throwable JavaDoc e) {
913             e.printStackTrace();
914         }
915     }
916
917     // Variables declaration - do not modify//GEN-BEGIN:variables
918
private javax.swing.JSeparator JavaDoc jSeparator2;
919     private javax.swing.JSeparator JavaDoc jSeparator4;
920     private javax.swing.JScrollPane JavaDoc desktopScrollPane;
921     private javax.swing.JTree JavaDoc serverSelectTree;
922     private javax.swing.JMenu JavaDoc fileMenu;
923     private javax.swing.JTabbedPane JavaDoc localServerTabPane;
924     private javax.swing.JMenuItem JavaDoc newConfigurationMenuItem;
925     private javax.swing.JMenuItem JavaDoc contentMenuItem;
926     private javax.swing.JPopupMenu JavaDoc configDocumentPopupMenu;
927     private javax.swing.JMenuItem JavaDoc serverRefreshMenuItem;
928     private javax.swing.JMenuItem JavaDoc exitMenuItem;
929     private javax.swing.JMenuItem JavaDoc saveMenuItem;
930     private javax.swing.JMenuItem JavaDoc copyMenuItem;
931     private javax.swing.JMenuItem JavaDoc refreshMenuItem;
932     private javax.swing.JMenuItem JavaDoc cutMenuItem;
933     private javax.swing.JMenuBar JavaDoc menuBar;
934     private javax.swing.JPopupMenu JavaDoc configFolderPopupMenu;
935     private javax.swing.JScrollPane JavaDoc configJScrollPane;
936     private javax.swing.JMenuItem JavaDoc executeTestJMenuItem;
937     private javax.swing.JMenu JavaDoc editMenu;
938     private javax.swing.JPanel JavaDoc jPanel1;
939     private javax.swing.JTree JavaDoc namespaceJTree;
940     private javax.swing.JMenuItem JavaDoc openComponentMenuItem;
941     private javax.swing.JPopupMenu JavaDoc componentPopupMenu;
942     private javax.swing.JPanel JavaDoc serverConnectHolderPane;
943     private javax.swing.JMenuItem JavaDoc nsCopyMenuItem;
944     private javax.swing.JMenu JavaDoc testMenu;
945     private javax.swing.JSeparator JavaDoc jSeparator3;
946     private javax.swing.JMenuItem JavaDoc newDirectoryMenuItem;
947     private javax.swing.JMenuItem JavaDoc loadMBeansMenuItem;
948     private javax.swing.JPopupMenu JavaDoc serverSelectPopupMenu;
949     private javax.swing.JMenu JavaDoc newConfigurationSubMenu;
950     private javax.swing.JMenuItem JavaDoc connectToServerMenuItem;
951     private javax.swing.JScrollPane JavaDoc jScrollPane1;
952     private javax.swing.JMenuItem JavaDoc reloadConfigMenuItem;
953     private javax.swing.JLabel JavaDoc jLabel1;
954     private javax.swing.JScrollPane JavaDoc componentJScrollPane;
955     private javax.swing.JMenu JavaDoc repositoryMenu;
956     private javax.swing.JDesktopPane JavaDoc desktopPane;
957     private javax.swing.JSplitPane JavaDoc jSplitPane2;
958     private javax.swing.JTree JavaDoc componentJTree;
959     private javax.swing.JMenuItem JavaDoc nsOpenMenuItem;
960     private javax.swing.JSplitPane JavaDoc jSplitPane1;
961     private javax.swing.JMenuItem JavaDoc nsDeleteMenuItem;
962     private javax.swing.JMenuItem JavaDoc saveAsMenuItem;
963     private javax.swing.JPanel JavaDoc jPanel2;
964     private javax.swing.JMenuItem JavaDoc nsPasteMenuItem;
965     private javax.swing.JMenuItem JavaDoc pasteMenuItem;
966     private javax.swing.JMenuItem JavaDoc openMenuItem;
967     private javax.swing.JMenuItem JavaDoc nsCutMenuItem;
968     private javax.swing.JSeparator JavaDoc jSeparator1;
969     private javax.swing.JMenu JavaDoc windowMenu;
970     private javax.swing.JMenuItem JavaDoc aboutMenuItem;
971     private javax.swing.JMenu JavaDoc helpMenu;
972     private javax.swing.JMenuItem JavaDoc deleteMenuItem;
973     private javax.swing.JMenuItem JavaDoc serverDisconnectMenuItem;
974     // End of variables declaration//GEN-END:variables
975

976 }
977
Popular Tags