1 19 package org.netbeans.modules.j2ee.sun.share.configbean.templates; 20 21 import java.awt.Component ; 22 import java.beans.PropertyChangeEvent ; 23 import java.beans.PropertyChangeListener ; 24 import java.io.File ; 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 31 import org.openide.WizardDescriptor; 32 import org.openide.filesystems.FileObject; 33 import org.openide.util.HelpCtx; 34 import org.openide.util.NbBundle; 35 36 import org.netbeans.api.project.Project; 37 import org.netbeans.spi.project.ui.templates.support.Templates; 38 39 40 44 public class SunDDWizardPanel implements WizardDescriptor.Panel { 45 46 50 private final Set listeners = new HashSet (1); 52 private SunDDVisualPanel component = new SunDDVisualPanel(); 53 private WizardDescriptor wizardDescriptor; 54 private Project project; 55 56 public SunDDWizardPanel() { 57 component.addPropertyChangeListener(new PropertyChangeListener () { 58 public void propertyChange(PropertyChangeEvent evt) { 59 fireChangeEvent(); 60 } 61 }); 62 } 63 64 File getSelectedLocation() { 66 return component.getSelectedLocation(); 67 } 68 69 Project getProject() { 70 return project; 71 } 72 73 String getFileName() { 74 return component.getFileName(); 75 } 76 77 public Component getComponent() { 78 return component; 79 } 80 81 public HelpCtx getHelp() { 82 return HelpCtx.DEFAULT_HELP; 84 } 87 88 public boolean isValid() { 89 90 String sunDDFileName = component.getFileName(); 91 if(sunDDFileName == null) { 92 wizardDescriptor.putProperty("WizardPanel_errorMessage", NbBundle.getMessage(SunDDWizardPanel.class,"ERR_NoJavaEEModuleType")); return false; 95 } 96 97 File location = component.getSelectedLocation(); 98 if(location == null) { 99 wizardDescriptor.putProperty("WizardPanel_errorMessage", NbBundle.getMessage(SunDDWizardPanel.class,"ERR_NoValidLocation", sunDDFileName)); return false; 102 } 103 104 File sunDDFile = component.getFile(); 105 if(sunDDFile.exists()) { 106 wizardDescriptor.putProperty("WizardPanel_errorMessage", NbBundle.getMessage(SunDDWizardPanel.class,"ERR_FileExists", sunDDFileName)); return false; 109 } 110 111 return true; 112 } 113 114 public final void addChangeListener(ChangeListener l) { 115 synchronized (listeners) { 116 listeners.add(l); 117 } 118 } 119 120 public final void removeChangeListener(ChangeListener l) { 121 synchronized (listeners) { 122 listeners.remove(l); 123 } 124 } 125 126 protected final void fireChangeEvent() { 127 Iterator it; 129 synchronized (listeners) { 130 it = new HashSet (listeners).iterator(); 132 } 133 ChangeEvent ev = new ChangeEvent (this); 134 while (it.hasNext()) { 135 ((ChangeListener )it.next()).stateChanged(ev); 137 } 138 } 139 140 public void readSettings(Object settings) { 145 wizardDescriptor = (WizardDescriptor) settings; 146 if (project == null) { 147 project = Templates.getProject(wizardDescriptor); 148 component.setProject(project); 149 } 150 } 151 152 public void storeSettings(Object settings) { 153 } 154 155 } 156 157 | Popular Tags |