1 6 7 package SOFA.SOFAnet.Browser; 8 9 import SOFA.SOFAnet.Admin.RMI.*; 10 import SOFA.SOFAnet.Repository.BundleInfo; 11 import javax.swing.*; 12 import java.rmi.RemoteException ; 13 import java.util.*; 14 import java.awt.Component ; 15 import java.awt.Frame ; 16 17 21 public class DeleteBundleDialog extends javax.swing.JDialog 22 { 23 private RMIAdminInterface admin; 24 private boolean isOK; 25 26 public static boolean showDialog(Component frameComp, RMIAdminInterface admin, String defaultBundleName) 27 { 28 Frame frame = JOptionPane.getFrameForComponent(frameComp); 29 DeleteBundleDialog dialog = new DeleteBundleDialog(frame, true, admin, defaultBundleName); 30 dialog.setLocationRelativeTo(frameComp); 31 dialog.setVisible(true); 32 return dialog.isOK(); 33 } 34 35 36 public DeleteBundleDialog(java.awt.Frame parent, boolean modal, RMIAdminInterface admin, String defaultBundleName) 37 { 38 super(parent, modal); 39 this.admin = admin; 40 isOK = false; 41 initComponents(); 42 43 bundleNameTextField.setText(defaultBundleName); 44 } 45 46 public boolean isOK() 47 { 48 return isOK; 49 } 50 51 56 private void initComponents() { 58 jPanel4 = new javax.swing.JPanel (); 59 jPanel1 = new javax.swing.JPanel (); 60 jPanel5 = new javax.swing.JPanel (); 61 bundleNameLabel = new javax.swing.JLabel (); 62 bundleNameTextField = new javax.swing.JTextField (); 63 jPanel2 = new javax.swing.JPanel (); 64 chooseBinaryBundleButton = new javax.swing.JButton (); 65 jPanel3 = new javax.swing.JPanel (); 66 deleteBundleButton = new javax.swing.JButton (); 67 cancelButton = new javax.swing.JButton (); 68 69 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 70 setTitle("Delete Bundle"); 71 jPanel4.setLayout(new java.awt.BorderLayout ()); 72 73 jPanel4.setMinimumSize(new java.awt.Dimension (400, 93)); 74 jPanel4.setPreferredSize(new java.awt.Dimension (400, 150)); 75 jPanel1.setLayout(new java.awt.BorderLayout ()); 76 77 jPanel1.setBorder(new javax.swing.border.EmptyBorder (new java.awt.Insets (1, 10, 1, 10))); 78 jPanel1.setMinimumSize(new java.awt.Dimension (26, 23)); 79 jPanel1.setPreferredSize(new java.awt.Dimension (26, 23)); 80 jPanel5.setLayout(new java.awt.GridLayout (3, 0)); 81 82 bundleNameLabel.setText("Bundle Name:"); 83 jPanel5.add(bundleNameLabel); 84 85 bundleNameTextField.setMinimumSize(new java.awt.Dimension (200, 21)); 86 bundleNameTextField.setPreferredSize(new java.awt.Dimension (200, 21)); 87 jPanel5.add(bundleNameTextField); 88 89 jPanel1.add(jPanel5, java.awt.BorderLayout.NORTH); 90 91 jPanel4.add(jPanel1, java.awt.BorderLayout.CENTER); 92 93 chooseBinaryBundleButton.setText("Choose Binary Bundle"); 94 chooseBinaryBundleButton.addActionListener(new java.awt.event.ActionListener () 95 { 96 public void actionPerformed(java.awt.event.ActionEvent evt) 97 { 98 chooseBinaryBundleButtonActionPerformed(evt); 99 } 100 }); 101 102 jPanel2.add(chooseBinaryBundleButton); 103 104 jPanel4.add(jPanel2, java.awt.BorderLayout.NORTH); 105 106 deleteBundleButton.setText("Delete Bundle (with licence)"); 107 deleteBundleButton.addActionListener(new java.awt.event.ActionListener () 108 { 109 public void actionPerformed(java.awt.event.ActionEvent evt) 110 { 111 deleteBundleButtonActionPerformed(evt); 112 } 113 }); 114 115 jPanel3.add(deleteBundleButton); 116 117 cancelButton.setText("Cancel"); 118 cancelButton.addActionListener(new java.awt.event.ActionListener () 119 { 120 public void actionPerformed(java.awt.event.ActionEvent evt) 121 { 122 cancelButtonActionPerformed(evt); 123 } 124 }); 125 126 jPanel3.add(cancelButton); 127 128 jPanel4.add(jPanel3, java.awt.BorderLayout.SOUTH); 129 130 getContentPane().add(jPanel4, java.awt.BorderLayout.CENTER); 131 132 pack(); 133 } 135 private void chooseBinaryBundleButtonActionPerformed(java.awt.event.ActionEvent evt) { String [] bundles = null; 138 try 139 { 140 bundles = admin.binBundlesList(); 141 } 142 catch (RemoteException e) 143 { 144 JOptionPane.showMessageDialog(this, "RMI Error occured while accessing SOFA net node:\n" + e, "Error", JOptionPane.ERROR_MESSAGE); 145 return; 146 } 147 148 Arrays.sort(bundles); 149 150 String result = ListDialog.showDialog(this, this, "Binary Bundles:", "Choose Binary Bundle to Uninstall", bundles, null, null, false, true); 151 if (result.length() != 0) bundleNameTextField.setText(result); 152 153 } 155 private void deleteBundleButtonActionPerformed(java.awt.event.ActionEvent evt) { String bundleName = bundleNameTextField.getText(); 158 159 BundleInfo bundleInfo = new BundleInfo(); 160 try 161 { 162 bundleInfo.fromBundleName(bundleName); 163 } 164 catch (BundleInfo.InvalidBundleNameException e) 165 { 166 JOptionPane.showMessageDialog(this, "Invalid name of bundle:\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); 167 return; 168 } 169 170 try 171 { 172 admin.deleteBundle(bundleName); 173 } 174 catch (RemoteException e) 175 { 176 JOptionPane.showMessageDialog(this, e, "Error", JOptionPane.ERROR_MESSAGE); 177 dispose(); 178 return; 179 } 180 catch (RMIAdminException e) 181 { 182 JOptionPane.showMessageDialog(this, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); 183 dispose(); 184 return; 185 } 186 187 JOptionPane.showMessageDialog(this, "Binary Bundle '" + bundleName + "' successfully deleted"); 188 189 isOK = true; 190 dispose(); 191 } 193 private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) { dispose(); 196 } 198 199 private javax.swing.JLabel bundleNameLabel; 201 private javax.swing.JTextField bundleNameTextField; 202 private javax.swing.JButton cancelButton; 203 private javax.swing.JButton chooseBinaryBundleButton; 204 private javax.swing.JButton deleteBundleButton; 205 private javax.swing.JPanel jPanel1; 206 private javax.swing.JPanel jPanel2; 207 private javax.swing.JPanel jPanel3; 208 private javax.swing.JPanel jPanel4; 209 private javax.swing.JPanel jPanel5; 210 212 } 213 | Popular Tags |