Revision 38521 branches/v2_0_0_prep/applications/appCatalog/src/org/gvsig/catalog/ui/serverconnect/ServerConnectDialogPanel.java

View differences:

ServerConnectDialogPanel.java
49 49
import java.io.FileNotFoundException;
50 50
import java.io.FileReader;
51 51
import java.io.IOException;
52
import java.net.URL;
52 53
import java.util.Iterator;
53 54
import java.util.TreeMap;
54 55

  
55 56
import javax.swing.Icon;
56 57
import javax.swing.ImageIcon;
57 58
import javax.swing.JFrame;
59
import javax.swing.JOptionPane;
58 60
import javax.swing.JPanel;
59 61

  
62
import org.slf4j.Logger;
63
import org.slf4j.LoggerFactory;
64

  
60 65
import org.gvsig.catalog.CatalogClient;
61 66
import org.gvsig.catalog.CatalogLocator;
62 67
import org.gvsig.catalog.CatalogManager;
......
77 82
 * @author Jorge Piera Llodra (piera_jor@gva.es)
78 83
 */
79 84
public class ServerConnectDialogPanel extends JPanel implements ActionListener {
85
    
86
    private static Logger logger =
87
        LoggerFactory.getLogger(ServerConnectDialogPanel.class);
88
    
80 89
	private static final CatalogManager catalogManager = CatalogLocator.getCatalogManager();
81 90
	private static final long serialVersionUID = 1224880378648403038L;
82 91
	private static TreeMap serverList = new TreeMap();
83 92
	private ServerConnectPanel controlsPanel = null;
84 93
	private JFrame parent = null;
85 94
	protected CatalogClient client = null;
86
	protected String serversFile = "servers/CatalogServers.txt";
95
	
96
	protected String serversFile = "servers"
97
	    + File.separator+ "CatalogServers.txt";
98
	
87 99
	protected String currentServer = "";
88 100
	private ConnectThread connectThread = null;
89 101
	
......
96 108
		this.setLayout(new BorderLayout());
97 109
		add(getControlsPanel(),BorderLayout.CENTER);
98 110
		//Loads the servers
99
		loadServerList(serversFile);
100
		//Load the protocols
101
		controlsPanel.loadDrivers(
102
				catalogManager.getDrivers());
111
		int n_servers = loadServerList(serversFile);
112

  
113
	      //Load the protocols
114
        controlsPanel.loadDrivers(
115
                catalogManager.getDrivers());
116
        getControlsPanel().setPropertiesIcon(getPropertiesIcon());
117

  
118
		if (n_servers == 0) {
119
		    return;
120
		}
121
		
103 122
		//Load the first protocol
104 123
		controlsPanel.setProtocol(controlsPanel.getServer().getServiceSubType());
105 124
		enableServerPropertiesButton();
106
		getControlsPanel().setPropertiesIcon(getPropertiesIcon());
107 125
	} 
108 126

  
109 127
	/**
......
133 151
	 * This method loads a server list in the combo
134 152
	 * @param sfile 
135 153
	 */
136
	private void loadServerList(String sfile) {        
137
		loadServersFromFile(sfile);
154
	private int loadServerList(String sfile) {
155
	    
156
		int n = loadServersFromFile(sfile);
157
		
158
		if (n == 0) {
159
		    return 0;
160
		}
161
		
138 162
		Iterator iter = serverList.keySet().iterator();
139 163
		while (iter.hasNext()) {
140 164
			ServerData server = (ServerData) serverList.get((String) iter.next());
141 165
			controlsPanel.addServer(server);
142
		}            
166
		}
167
		
168
		return n;
143 169
	} 
144 170

  
145 171
	/**
......
147 173
	 * @param sfile 
148 174
	 * File that contains the rervers
149 175
	 */
150
	private void loadServersFromFile(String sfile) {        
176
	private int loadServersFromFile(String sfile) {
177
	    
178
	    int servers_loaded = 0;
179
	    
151 180
		File file = null;
152 181
		try {
153
			file = new File(sfile);
154
			if (file.exists()) {
155
				BufferedReader fr = new BufferedReader(new FileReader(file));
182
		    URL uf = getClass().getClassLoader().getResource(sfile);
183

  
184
			if (uf != null) {
185
			    file = new File(uf.getFile());
186
			    if (!file.exists()) {
187
			        throw new FileNotFoundException(file.getAbsolutePath());
188
			    }
189
			    FileReader _fr = new FileReader(file);
190
				BufferedReader _br = new BufferedReader(_fr);
156 191
				String s;
157
				while ((s = fr.readLine()) != null) {
192
				while ((s = _br.readLine()) != null) {
158 193
					addTreeMapServer(new ServerData(s,"",""));
194
					servers_loaded++;
159 195
				}
196
				_br.close();
197
				_fr.close();
160 198
			} else {
161
				System.out.println("No se encuentra el fichero '" +
162
						file.getPath() + "'");
199
			    throw new FileNotFoundException(sfile);
163 200
			}
164
		} catch (FileNotFoundException e) {
165
			System.out.println("No se encuentra el fichero '" + file.getPath() +
166
			"'");
167
			//e.printStackTrace();
168
		} catch (IOException e) {
169
			System.out.println("Error de entrada salida en la lectura del fichero");
170
			//e.printStackTrace();
201
		} catch (Exception e) {
202
		    
203
		    logger.info("Error while loading server list file: " + e.getMessage());
204
		    
205
            String tit = Messages.getText("_Loading_servers");
206
            String msg = Messages.getText("_Unable_to_load_server_list_file")
207
                + ": " + sfile;
208
            JOptionPane.showMessageDialog(
209
                this,
210
                msg, tit, JOptionPane.ERROR_MESSAGE);
171 211
		}
212
		
213
		return servers_loaded;
172 214
	} 
173 215

  
174 216
	/*
......
266 308
	/**
267 309
	 * @param serversFile The serversFile to set.
268 310
	 */
269
	public void setServersFile(String serversFile) {        
270
		this.serversFile = serversFile;
311
	public void setServersFile(String srv_file) {        
312
		this.serversFile = srv_file;
271 313
	} 
272 314

  
273 315
	/**

Also available in: Unified diff