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 |
/**
|