Revision 38521 branches/v2_0_0_prep/applications/appCatalog/src/org/gvsig/catalog/ui/serverconnect/ServerConnectDialogPanel.java
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