1 package org.sape.carbon.services.console; 2 3 import javax.management.MBeanOperationInfo ; 4 import javax.management.MBeanServer ; 5 import javax.management.ObjectName ; 6 import javax.swing.border.CompoundBorder ; 7 import javax.swing.border.TitledBorder ; 8 9 17 public class OperationPanel extends javax.swing.JPanel { 18 19 private ObjectName objectName; 20 private MBeanOperationInfo operation; 21 private MBeanServer server; 22 23 24 public OperationPanel(ObjectName objectName, MBeanOperationInfo operation, MBeanServer server) { 25 this.objectName = objectName; 26 this.operation = operation; 27 this.server = server; 28 29 initComponents(); 30 try { 31 impactValue.setText(String.valueOf(OperationsImpactEnum.getByOrdinal(this.operation.getImpact()))); 32 } catch (Exception e) { } 33 34 ((TitledBorder )((CompoundBorder )this.getBorder()).getInsideBorder()).setTitle(this.operation.getName()); 35 36 this.repaint(); 38 } 39 40 57 58 63 private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; 65 66 descriptionLabel = new javax.swing.JLabel (); 67 descriptionValue = new javax.swing.JLabel (); 68 impactLabel = new javax.swing.JLabel (); 69 impactValue = new javax.swing.JLabel (); 70 executeButton = new javax.swing.JButton (); 71 returnTypeLabel = new javax.swing.JLabel (); 72 returnTypeValue = new javax.swing.JLabel (); 73 resultsPanel = new javax.swing.JPanel (); 74 returntypeLabel = new javax.swing.JLabel (); 75 returnValueScrollPane = new javax.swing.JScrollPane (); 76 returnValueTextArea = new javax.swing.JTextArea (); 77 78 setLayout(new java.awt.GridBagLayout ()); 79 80 setBorder(new javax.swing.border.CompoundBorder (new javax.swing.border.EmptyBorder (new java.awt.Insets (6, 6, 6, 6)), new javax.swing.border.TitledBorder ("Operation Title"))); 81 descriptionLabel.setText("Description"); 82 gridBagConstraints = new java.awt.GridBagConstraints (); 83 gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; 84 gridBagConstraints.insets = new java.awt.Insets (0, 4, 0, 0); 85 add(descriptionLabel, gridBagConstraints); 86 87 descriptionValue.setFont(new java.awt.Font ("Dialog", 0, 12)); 88 descriptionValue.setText(this.operation.getDescription()); 89 gridBagConstraints = new java.awt.GridBagConstraints (); 90 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST; 91 gridBagConstraints.weightx = 1.0; 92 gridBagConstraints.insets = new java.awt.Insets (2, 2, 2, 2); 93 add(descriptionValue, gridBagConstraints); 94 95 impactLabel.setText("Impact"); 96 gridBagConstraints = new java.awt.GridBagConstraints (); 97 gridBagConstraints.gridx = 0; 98 gridBagConstraints.gridy = 1; 99 gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; 100 gridBagConstraints.insets = new java.awt.Insets (0, 4, 0, 0); 101 add(impactLabel, gridBagConstraints); 102 103 impactValue.setFont(new java.awt.Font ("Dialog", 0, 12)); 104 impactValue.setText(""); 105 gridBagConstraints = new java.awt.GridBagConstraints (); 106 gridBagConstraints.gridx = 1; 107 gridBagConstraints.gridy = 1; 108 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST; 109 gridBagConstraints.weightx = 1.0; 110 gridBagConstraints.insets = new java.awt.Insets (2, 2, 2, 2); 111 add(impactValue, gridBagConstraints); 112 113 executeButton.setText("Execute"); 114 executeButton.addActionListener(new java.awt.event.ActionListener () { 115 public void actionPerformed(java.awt.event.ActionEvent evt) { 116 executeButtonActionPerformed(evt); 117 } 118 }); 119 120 gridBagConstraints = new java.awt.GridBagConstraints (); 121 gridBagConstraints.gridx = 1; 122 gridBagConstraints.gridy = 6; 123 gridBagConstraints.gridwidth = 2; 124 gridBagConstraints.insets = new java.awt.Insets (2, 2, 2, 2); 125 add(executeButton, gridBagConstraints); 126 127 returnTypeLabel.setText("Return Type"); 128 gridBagConstraints = new java.awt.GridBagConstraints (); 129 gridBagConstraints.gridx = 0; 130 gridBagConstraints.gridy = 2; 131 gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; 132 gridBagConstraints.insets = new java.awt.Insets (0, 4, 0, 0); 133 add(returnTypeLabel, gridBagConstraints); 134 135 returnTypeValue.setFont(new java.awt.Font ("Dialog", 0, 12)); 136 returnTypeValue.setText(this.operation.getReturnType()); 137 gridBagConstraints = new java.awt.GridBagConstraints (); 138 gridBagConstraints.gridx = 1; 139 gridBagConstraints.gridy = 2; 140 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST; 141 gridBagConstraints.weightx = 1.0; 142 gridBagConstraints.insets = new java.awt.Insets (2, 2, 2, 2); 143 add(returnTypeValue, gridBagConstraints); 144 145 resultsPanel.setLayout(new java.awt.BorderLayout ()); 146 147 returntypeLabel.setText("Result"); 148 resultsPanel.add(returntypeLabel, java.awt.BorderLayout.WEST); 149 150 returnValueScrollPane.setViewportView(returnValueTextArea); 151 152 resultsPanel.add(returnValueScrollPane, java.awt.BorderLayout.CENTER); 153 154 gridBagConstraints = new java.awt.GridBagConstraints (); 155 gridBagConstraints.gridx = 0; 156 gridBagConstraints.gridy = 5; 157 gridBagConstraints.gridwidth = 2; 158 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 159 add(resultsPanel, gridBagConstraints); 160 161 } 163 private void executeButtonActionPerformed(java.awt.event.ActionEvent evt) { try { 166 Object results = this.server.invoke(this.objectName, this.operation.getName(),new Object []{},new String []{}); 167 this.returnValueTextArea.setText((results==null)?"no return value":results.toString()); 168 } catch (Exception e) { 169 this.returnValueTextArea.setText("An error occurred"); 170 SingletonExceptionViewer.getInstance().addException(e); 172 } finally { 173 this.resultsPanel.setVisible(true); 174 } 175 176 } 178 179 private javax.swing.JPanel resultsPanel; 181 private javax.swing.JLabel returntypeLabel; 182 private javax.swing.JTextArea returnValueTextArea; 183 private javax.swing.JLabel descriptionLabel; 184 private javax.swing.JScrollPane returnValueScrollPane; 185 private javax.swing.JLabel descriptionValue; 186 private javax.swing.JLabel impactLabel; 187 private javax.swing.JLabel impactValue; 188 private javax.swing.JLabel returnTypeLabel; 189 private javax.swing.JLabel returnTypeValue; 190 private javax.swing.JButton executeButton; 191 193 } 194 | Popular Tags |