1 19 20 package org.netbeans.modules.xml.schema.ui.retriever; 21 22 import java.awt.Component ; 23 import java.io.File ; 24 import java.net.MalformedURLException ; 25 import java.net.URI ; 26 import java.net.URISyntaxException ; 27 import java.net.URL ; 28 import java.util.HashSet ; 29 import java.util.Iterator ; 30 import java.util.Set ; 31 import javax.swing.event.ChangeEvent ; 32 import javax.swing.event.ChangeListener ; 33 import org.openide.WizardDescriptor; 34 import org.openide.util.HelpCtx; 35 import org.netbeans.modules.xml.retriever.IConstants; 36 import org.openide.util.NbBundle; 37 38 public class RetrieveXMLResourceWizardPanel1 implements WizardDescriptor.Panel, ChangeListener { 39 40 41 45 private Component component; 46 private RetrieveXMLResourceVisualPanel1 retrieveXMLResourceVisualPanel1; 47 WizardDescriptor wizd = null; 48 public Component getComponent() { 53 if (component == null) { 54 component = new RetrieveXMLResourceVisualPanel1(this); 55 retrieveXMLResourceVisualPanel1 = (RetrieveXMLResourceVisualPanel1)component; 56 retrieveXMLResourceVisualPanel1.addChangeListener(this); 57 } 58 return component; 59 } 60 61 public WizardDescriptor getWizardDescriptor(){ 62 return wizd; 63 } 64 65 public HelpCtx getHelp() { 66 return new HelpCtx(RetrieveXMLResourceWizardPanel1.class); 69 } 72 73 public boolean isValid() { 74 if(retrieveXMLResourceVisualPanel1.getSelectedSourceType() == RetrieveXMLResourceVisualPanel1.SourceType.LOCAL_FILE){ 75 if(retrieveXMLResourceVisualPanel1.getSourceLocation() == null) { 76 return false; 77 } 78 File sourceFile = null; 79 try { 80 sourceFile = new File (new URI (retrieveXMLResourceVisualPanel1.getSourceLocation())); 81 } catch (URISyntaxException ex) { 82 } 83 if(!sourceFile.isDirectory()){ 84 return false; 85 } 86 87 if(retrieveXMLResourceVisualPanel1.getSaveLocation() == null){ 88 return false; 89 } 90 return true; 91 } 92 if(retrieveXMLResourceVisualPanel1.getSelectedSourceType() == RetrieveXMLResourceVisualPanel1.SourceType.URL_ADDR){ 93 String sourceLocation = retrieveXMLResourceVisualPanel1.getSourceLocation(); 94 if((sourceLocation != null) && (sourceLocation.length() <= 0)){ 95 return false; 96 } 97 try { 98 URL url = new URL (sourceLocation); 99 if(url.getPath().trim().length() <= 0){ 100 return false; 101 } 102 if(url.getProtocol().equalsIgnoreCase("http") && (url.getHost().length()<= 0)) { 104 return false; 105 } 106 } catch (MalformedURLException ex) { 107 return false; 108 } 109 return true; 110 } 111 return false; 112 } 113 114 private void setErrorMessage( String key ) { 115 if ( key == null ) { 116 wizd.putProperty("WizardPanel_errorMessage", ""); } else { 118 String message = NbBundle.getMessage( 119 RetrieveXMLResourceWizardPanel1.class, key); wizd.putProperty("WizardPanel_errorMessage", message); 121 } 122 } 123 124 private final Set <ChangeListener > listeners = new HashSet <ChangeListener >(1); 125 public final void addChangeListener(ChangeListener l) { 126 synchronized (listeners) { 127 listeners.add(l); 128 } 129 } 130 public final void removeChangeListener(ChangeListener l) { 131 synchronized (listeners) { 132 listeners.remove(l); 133 } 134 } 135 protected final void fireChangeEvent() { 136 Iterator <ChangeListener > it; 137 synchronized (listeners) { 138 it = new HashSet <ChangeListener >(listeners).iterator(); 139 } 140 ChangeEvent ev = new ChangeEvent (this); 141 while (it.hasNext()) { 142 it.next().stateChanged(ev); 143 } 144 } 145 146 147 public void readSettings(Object settings) { 152 wizd = (WizardDescriptor) settings; 153 retrieveXMLResourceVisualPanel1.refreshSaveLocation(); 154 } 156 public void storeSettings(Object settings) { 157 wizd = (WizardDescriptor) settings; 159 wizd.putProperty(IConstants.RETRIVE_CLOSURE_KEY, Boolean.valueOf(retrieveXMLResourceVisualPanel1.retrieveClosure())); 160 wizd.putProperty(IConstants.SOURCE_LOCATION_KEY, retrieveXMLResourceVisualPanel1.getSourceLocation()); 161 wizd.putProperty(IConstants.TARGET_FILE_KEY, retrieveXMLResourceVisualPanel1.getSaveLocation()); 162 wizd.putProperty(IConstants.SOURCE_TYPE_KEY, retrieveXMLResourceVisualPanel1.getDocType()); 163 wizd.putProperty(IConstants.SOURCE_LOCATION_TYPE_KEY, retrieveXMLResourceVisualPanel1.getSelectedSourceType()); 164 wizd.putProperty(IConstants.USER_SELECTED_SAVE_ROOT, retrieveXMLResourceVisualPanel1.getSelectedSaveRootFolder()); 165 wizd.putProperty(IConstants.OVERWRITE_FILES, retrieveXMLResourceVisualPanel1.shouldOverwrite()); 166 } 167 168 public void stateChanged(ChangeEvent e) { 169 fireChangeEvent(); 170 } 171 172 } 173 174 | Popular Tags |