1 package org.netbeans.modules.j2ee.sun.ide.sunresources.beans; 2 20 import javax.swing.JPanel ; 21 import javax.swing.JLabel ; 22 import javax.swing.JButton ; 23 import javax.swing.JTextArea ; 24 import javax.swing.JTextField ; 25 import javax.swing.JScrollPane ; 26 27 import java.awt.Insets ; 28 import java.awt.Dialog ; 29 import java.awt.Component ; 30 import java.awt.BorderLayout ; 31 import java.awt.GridBagLayout ; 32 import java.awt.GridBagConstraints ; 33 34 import java.util.Hashtable ; 35 import java.util.Vector ; 36 import java.text.MessageFormat ; 37 import java.util.ArrayList ; 38 39 import org.openide.util.HelpCtx; 40 import org.openide.util.NbBundle; 41 import org.openide.DialogDescriptor; 42 import org.openide.DialogDisplayer; 43 import org.openide.NotifyDescriptor; 44 import javax.management.ObjectName ; 45 46 import org.netbeans.modules.j2ee.sun.api.ServerInterface; 47 import org.netbeans.modules.j2ee.sun.sunresources.beans.WizardConstants; 48 import org.netbeans.modules.j2ee.sun.api.SunDeploymentManagerInterface; 49 50 import org.netbeans.modules.j2ee.sun.dd.api.serverresources.Resources; 51 import org.netbeans.modules.j2ee.sun.dd.api.serverresources.PropertyElement; 52 import org.netbeans.modules.j2ee.deployment.plugins.api.InstanceProperties; 53 import org.netbeans.modules.j2ee.sun.ide.sunresources.beans.BaseResourceNode; 54 import org.netbeans.modules.j2ee.sun.ide.sunresources.resourcesloader.SunResourceDataObject; 55 56 public class ListServerInstances extends JPanel implements WizardConstants{ 57 58 final static java.util.ResourceBundle bundle = NbBundle.getBundle(ListServerInstances.class); 59 60 Component initialFocusOwner = null; 61 String title; 62 Hashtable servers = new Hashtable (); 63 64 public ListServerInstances(String _title, SunResourceDataObject dObj, String type, InstanceProperties targetName) { 65 title = _title; 66 initComponents(dObj, type, targetName); 67 } 69 70 private void initComponents(final SunResourceDataObject resourceObj, final String resType, InstanceProperties targetName) { 71 Vector names = new Vector (); 72 if(targetName == null){ 73 showInvalidServerError(); 74 return; 75 } 76 try{ 77 SunDeploymentManagerInterface dm = (SunDeploymentManagerInterface)targetName.getDeploymentManager(); 78 String servName = targetName.getProperty(InstanceProperties.DISPLAY_NAME_ATTR); 79 names.addElement(servName); 80 servers.put(servName, dm); 81 }catch(java.lang.ClassCastException cce){ 82 showInvalidServerError(); 83 return; 84 } 85 86 JPanel p = new JPanel (); 87 88 JLabel nameLabel = new JLabel (bundle.getString("LBL_resource_name")); JLabel rsNameLabel = new JLabel (resourceObj.getName()); 92 93 serverListCB = new JTextField (); 96 serverListCB.setText(" " + names.get(0).toString()); 98 serverListCB.setEditable(false); 99 serverListCB.getAccessibleContext().setAccessibleName(bundle.getString("LBL_select_server")); serverListCB.getAccessibleContext().setAccessibleDescription(bundle.getString( "LBL_select_server")); 102 JLabel selectLabel = new JLabel (); 103 org.openide.awt.Mnemonics.setLocalizedText(selectLabel,bundle.getString("LBL_select_server")); selectLabel.setLabelFor(serverListCB); 105 106 msgArea = new JTextArea (4, 1); 107 msgArea.setLineWrap(true); 108 msgArea.setWrapStyleWord(true); 109 msgArea.setEditable(false); 110 msgArea.setBackground(p.getBackground()); 111 112 applyButton = new JButton (); 113 org.openide.awt.Mnemonics.setLocalizedText(applyButton,bundle.getString("LBL_Register")); applyButton.addActionListener(new java.awt.event.ActionListener () { 115 public void actionPerformed(java.awt.event.ActionEvent evt) { 116 applyButton.setEnabled(false); 117 doRegistration(resourceObj, resType); 118 applyButton.setEnabled(true); 119 } 120 }); 121 122 closeButton = new JButton (); 123 org.openide.awt.Mnemonics.setLocalizedText(closeButton,bundle.getString("LBL_Close")); 125 p.setLayout(new GridBagLayout ()); 126 127 GridBagConstraints gbc = new GridBagConstraints (); 128 GridBagConstraints gbc1 = new GridBagConstraints (); 129 gbc.fill = gbc1.fill = GridBagConstraints.HORIZONTAL; 130 131 gbc.anchor = GridBagConstraints.WEST; 132 gbc.gridwidth = 3; 133 gbc.gridheight = 1; 134 135 136 gbc1.anchor = GridBagConstraints.EAST; 137 gbc1.gridwidth = GridBagConstraints.REMAINDER; 138 139 gbc.insets = new Insets (12, 12, 10, 0); 140 gbc1.insets = new Insets (12, 12, 10, 12); 141 142 p.add(nameLabel, gbc); 143 p.add(rsNameLabel, gbc1); 144 145 gbc.insets = new Insets (0, 12, 10, 0); 146 gbc1.insets = new Insets (0, 12, 10, 12); 147 148 p.add(selectLabel, gbc); 149 p.add(serverListCB, gbc1); 150 151 152 gbc1.gridheight=2; 153 gbc1.weighty = 0.5; 154 p.add(new JLabel (""), gbc1); 156 gbc.insets = new Insets (0, 12, 10, 12); 157 gbc.gridwidth =4; 158 gbc.weightx = 0.5; 159 p.add(new JScrollPane (msgArea), gbc); 160 161 this.setLayout(new BorderLayout ()); 162 this.add(p, "Center"); 164 166 Object options[] = {applyButton, closeButton}; 167 168 DialogDescriptor dd = new DialogDescriptor(this, title, true, options, applyButton, DialogDescriptor.BOTTOM_ALIGN, HelpCtx.findHelp(this), null); 169 dd.setClosingOptions(new Object [] {closeButton}); 170 171 Dialog dialog = DialogDisplayer.getDefault().createDialog(dd); 172 dialog.setLocation(350, 350); 173 174 dialog.pack(); 175 dialog.setVisible(true); 176 177 dialog.getAccessibleContext().setAccessibleName(bundle.getString("DSC_ListServers")); dialog.getAccessibleContext().setAccessibleDescription(bundle.getString("DSC_ListServers")); 180 } 181 182 public void doRegistration(SunResourceDataObject resourceObj, String resType) { 184 String serverNm = ((String ) serverListCB.getText()).trim(); 185 try{ 186 msgArea.setText(bundle.getString("Msg_RegDS")); setTopManagerStatus(bundle.getString( "Msg_RegDS")); Resources res = getResourceGraph(resourceObj); 189 SunDeploymentManagerInterface sunDm = getSunDm(serverNm); 190 if(res != null){ 191 ResourceUtils.register(res, sunDm, false, resType); 192 setTopManagerStatus(bundle.getString( "Msg_RegDone")); msgArea.setText(bundle.getString( "Msg_RegDone")); } 195 }catch(Exception ex){ 196 String errorMsg = MessageFormat.format(bundle.getString( "Msg_RegFailure"), new Object []{ex.getLocalizedMessage()}); msgArea.setText(errorMsg); 198 setTopManagerStatus(errorMsg); 199 } 200 } 201 202 private void setTopManagerStatus(String msg){ 203 org.openide.awt.StatusDisplayer.getDefault().setStatusText(msg); 204 } 205 206 private Resources getResourceGraph(SunResourceDataObject resourceObj){ 207 BaseResourceNode resNode = (BaseResourceNode)resourceObj.getNodeDelegate(); 208 return resNode.getBeanGraph(); 209 } 210 211 private SunDeploymentManagerInterface getSunDm(String serverName){ 212 SunDeploymentManagerInterface eightDM = (SunDeploymentManagerInterface)servers.get(serverName); 213 return eightDM; 214 } 215 216 private void showInvalidServerError(){ 217 NotifyDescriptor d = new NotifyDescriptor.Message(bundle.getString("Msg_invalid_server"), NotifyDescriptor.INFORMATION_MESSAGE); 218 d.setTitle(bundle.getString("Title_invalid_server")); 219 DialogDisplayer.getDefault().notify(d); 220 setTopManagerStatus(bundle.getString("Msg_invalid_server")); } 222 223 private JButton applyButton; 224 private JButton closeButton; 225 private JTextArea msgArea; 226 private JTextField serverListCB ; 228 } 229 230 | Popular Tags |