Use temporary file for XMPP server list

cusax-fix
Ingo Bauersachs 12 years ago
parent 197509e278
commit 6f79b98368

@ -44,8 +44,6 @@ public class JabberServerChooserDialog
private static final Logger logger = Logger
.getLogger(JabberServerChooserDialog.class);
private static final String DEFAULT_FILE_NAME = "jabberservers.xml";
// Servers Table
private JTable serversTable;
@ -211,54 +209,33 @@ public void fillTable()
faService = (FileAccessService) bc.getService(faServiceReference);
File localServersListFile = null;
try
{
File localServersListFile = faService
.getPrivatePersistentFile(DEFAULT_FILE_NAME);
// Get the file containing the servers list.
if (!localServersListFile.exists())
{
try
{
localServersListFile.createNewFile();
}
catch (IOException e)
{
logger.error("Failed to create file"
+ localServersListFile.getAbsolutePath(), e);
}
}
localServersListFile = faService.getTemporaryFile();
URL file = new URL("http://xmpp.net/services.xml");
InputStream stream = file.openStream();
try
{
URL file = new URL("http://xmpp.net/services.xml");
InputStream stream = file.openStream();
try
// Copy the remote file to the disk
byte[] buf = new byte[2048];
int len;
if (stream.available() > 0)
{
// Copy the remote file to the disk
byte[] buf = new byte[2048];
int len;
if (stream.available() > 0)
FileOutputStream fos
= new FileOutputStream(localServersListFile);
while ((len = stream.read(buf)) > 0)
{
FileOutputStream fos
= new FileOutputStream(localServersListFile);
while ((len = stream.read(buf)) > 0)
{
fos.write(buf, 0, len);
}
fos.close();
fos.write(buf, 0, len);
}
} finally
{
stream.close();
fos.close();
}
}
catch (Exception e)
finally
{
logger.error("");
stream.close();
}
FileInputStream fis = new FileInputStream(localServersListFile);
@ -284,6 +261,13 @@ public void fillTable()
logger.error(
"Failed to get a reference to the Jabber servers list file.", e);
}
finally
{
if (localServersListFile != null)
{
localServersListFile.delete();
}
}
}
/**
@ -338,22 +322,19 @@ public ServerChooserTableModel()
}
catch (SAXException e)
{
logger.error("Failed to parse: " + DEFAULT_FILE_NAME, e);
logger.error("Failed to parse server comments.", e);
}
catch (ParserConfigurationException e)
{
logger.error("Failed to parse: " + DEFAULT_FILE_NAME, e);
logger.error("Failed to parse server comments.", e);
}
catch (IOException e)
{
logger.error("Failed to parse: " + DEFAULT_FILE_NAME, e);
logger.error("Failed to parse server comments.", e);
}
Element root = serverComments.getDocumentElement();
commentsList = root.getElementsByTagName("item");
}
public int getColumnCount()

Loading…
Cancel
Save