1 19 package org.netbeans.modules.j2ee.jboss4.ide.ui; 20 21 import java.io.File ; 22 import org.openide.WizardDescriptor; 23 import org.openide.util.HelpCtx; 24 import java.awt.Component ; 25 import java.util.HashSet ; 26 import java.util.Iterator ; 27 import java.util.Set ; 28 import javax.swing.event.ChangeEvent ; 29 import javax.swing.event.ChangeListener ; 30 import org.openide.util.NbBundle; 31 32 36 public class AddServerLocationPanel implements WizardDescriptor.Panel, ChangeListener { 37 private final static String PROP_ERROR_MESSAGE = "WizardPanel_errorMessage"; 39 private JBInstantiatingIterator instantiatingIterator; 40 41 private AddServerLocationVisualPanel component; 42 private WizardDescriptor wizard; 43 private transient Set listeners = new HashSet (1); 44 45 46 47 48 public AddServerLocationPanel(JBInstantiatingIterator instantiatingIterator){ 49 this.instantiatingIterator = instantiatingIterator; 50 } 51 52 public void stateChanged(ChangeEvent ev) { 53 fireChangeEvent(ev); 54 } 55 56 private void fireChangeEvent(ChangeEvent ev) { 57 59 Iterator it; 60 synchronized (listeners) { 61 it = new HashSet (listeners).iterator(); 62 } 63 while (it.hasNext()) { 64 ((ChangeListener )it.next()).stateChanged(ev); 65 } 66 } 67 68 public Component getComponent() { 69 if (component == null) { 70 component = new AddServerLocationVisualPanel(); 71 component.addChangeListener(this); 72 } 73 return component; 74 } 75 76 public HelpCtx getHelp() { 77 return new HelpCtx("j2eeplugins_registering_app_server_jboss_location"); } 79 80 public boolean isValid() { 81 String locationStr = ((AddServerLocationVisualPanel)getComponent()).getInstallLocation(); 82 File location = new File (locationStr); 83 if (!JBPluginUtils.isGoodJBServerLocation4x(location) && 84 !JBPluginUtils.isGoodJBServerLocation5x(location)) 85 { 86 wizard.putProperty(PROP_ERROR_MESSAGE, NbBundle.getMessage(AddServerLocationPanel.class, "MSG_InvalidServerLocation")); return false; 88 } 89 90 wizard.putProperty(PROP_ERROR_MESSAGE, null); 91 JBPluginProperties.getInstance().setInstallLocation(((AddServerLocationVisualPanel)getComponent()).getInstallLocation()); 92 JBPluginProperties.getInstance().saveProperties(); 93 instantiatingIterator.setInstallLocation(locationStr); 94 return true; 95 } 96 97 public void removeChangeListener(ChangeListener l) { 98 synchronized (listeners) { 99 listeners.remove(l); 100 } 101 } 102 103 public void addChangeListener(ChangeListener l) { 104 synchronized (listeners) { 105 listeners.add(l); 106 } 107 } 108 109 public void readSettings(Object settings) { 110 if (wizard == null) 111 wizard = (WizardDescriptor)settings; 112 } 113 114 public void storeSettings(Object settings) { 115 } 116 } 117 | Popular Tags |