From 4d4b540387a4980742c88071ea4aa9d7689a7c70 Mon Sep 17 00:00:00 2001 From: akwizgran <akwizgran@users.sourceforge.net> Date: Thu, 14 Jul 2011 19:12:44 +0100 Subject: [PATCH] Java 1.5 compatibility changes (for OSX 10.4). We depend on commons-io for a single method... might be worth copying the source into FileUtils if the license permits. --- .classpath | 1 + components/net/sf/briar/db/H2Database.java | 21 ++++++++++++------- components/net/sf/briar/db/JdbcDatabase.java | 3 ++- .../sf/briar/invitation/InvitationWorker.java | 2 +- .../protocol/SigningDigestingInputStream.java | 4 ++-- .../SigningDigestingOutputStream.java | 4 ++-- 6 files changed, 22 insertions(+), 13 deletions(-) diff --git a/.classpath b/.classpath index 2ed9bb6ee0..88eeadcf43 100644 --- a/.classpath +++ b/.classpath @@ -15,5 +15,6 @@ <classpathentry kind="lib" path="lib/test/hamcrest-core-1.1.jar"/> <classpathentry kind="lib" path="lib/test/hamcrest-library-1.1.jar"/> <classpathentry kind="lib" path="lib/test/jmock-2.5.1.jar"/> + <classpathentry kind="lib" path="lib/commons-io-2.0.1.jar"/> <classpathentry kind="output" path="bin"/> </classpath> diff --git a/components/net/sf/briar/db/H2Database.java b/components/net/sf/briar/db/H2Database.java index 34e6647a20..82df78d049 100644 --- a/components/net/sf/briar/db/H2Database.java +++ b/components/net/sf/briar/db/H2Database.java @@ -1,6 +1,7 @@ package net.sf.briar.db; import java.io.File; +import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; @@ -13,6 +14,8 @@ import net.sf.briar.api.crypto.Password; import net.sf.briar.api.db.DatabasePassword; import net.sf.briar.api.db.DbException; +import org.apache.commons.io.FileSystemUtils; + import com.google.inject.Inject; /** Contains all the H2-specific code for the database. */ @@ -50,13 +53,17 @@ class H2Database extends JdbcDatabase { } public long getFreeSpace() throws DbException { - File dir = home.getParentFile(); - long free = dir.getFreeSpace(); - long used = getDiskSpace(dir); - long quota = maxSize - used; - long min = Math.min(free, quota); - if(LOG.isLoggable(Level.FINE)) LOG.fine("Free space: " + min); - return min; + try { + File dir = home.getParentFile(); + long free = FileSystemUtils.freeSpaceKb(dir.getAbsolutePath()); + long used = getDiskSpace(dir); + long quota = maxSize - used; + long min = Math.min(free, quota); + if(LOG.isLoggable(Level.FINE)) LOG.fine("Free space: " + min); + return min; + } catch(IOException e) { + throw new DbException(e); + } } @Override diff --git a/components/net/sf/briar/db/JdbcDatabase.java b/components/net/sf/briar/db/JdbcDatabase.java index 4e648b3518..44ba21db34 100644 --- a/components/net/sf/briar/db/JdbcDatabase.java +++ b/components/net/sf/briar/db/JdbcDatabase.java @@ -442,7 +442,8 @@ abstract class JdbcDatabase implements Database<Connection> { ps.setBytes(4, m.getAuthor().getBytes()); ps.setLong(5, m.getTimestamp()); ps.setInt(6, m.getSize()); - ps.setBlob(7, new ByteArrayInputStream(m.getBytes())); + byte[] raw = m.getBytes(); + ps.setBinaryStream(7, new ByteArrayInputStream(raw), raw.length); ps.setInt(8, 0); int rowsAffected = ps.executeUpdate(); assert rowsAffected == 1; diff --git a/components/net/sf/briar/invitation/InvitationWorker.java b/components/net/sf/briar/invitation/InvitationWorker.java index cfa03930aa..9b05d6329e 100644 --- a/components/net/sf/briar/invitation/InvitationWorker.java +++ b/components/net/sf/briar/invitation/InvitationWorker.java @@ -75,7 +75,7 @@ class InvitationWorker implements Runnable { try { transports = databaseComponent.getTransports(); } catch(DbException e) { - throw new IOException(e); + throw new IOException(e.getMessage()); } FileOutputStream out = new FileOutputStream(invitationDat); Writer w = writerFactory.createWriter(out); diff --git a/components/net/sf/briar/protocol/SigningDigestingInputStream.java b/components/net/sf/briar/protocol/SigningDigestingInputStream.java index d95768eff1..a4871725f5 100644 --- a/components/net/sf/briar/protocol/SigningDigestingInputStream.java +++ b/components/net/sf/briar/protocol/SigningDigestingInputStream.java @@ -41,7 +41,7 @@ class SigningDigestingInputStream extends FilterInputStream { try { signature.update(b); } catch(SignatureException e) { - throw new IOException(e); + throw new IOException(e.getMessage()); } } if(digesting) messageDigest.update(b); @@ -52,7 +52,7 @@ class SigningDigestingInputStream extends FilterInputStream { try { signature.update(b, off, len); } catch(SignatureException e) { - throw new IOException(e); + throw new IOException(e.getMessage()); } } if(digesting) messageDigest.update(b, off, len); diff --git a/components/net/sf/briar/protocol/SigningDigestingOutputStream.java b/components/net/sf/briar/protocol/SigningDigestingOutputStream.java index 5b411c63b9..6d72dc905b 100644 --- a/components/net/sf/briar/protocol/SigningDigestingOutputStream.java +++ b/components/net/sf/briar/protocol/SigningDigestingOutputStream.java @@ -44,7 +44,7 @@ class SigningDigestingOutputStream extends FilterOutputStream { try { signature.update(b, off, len); } catch(SignatureException e) { - throw new IOException(e); + throw new IOException(e.getMessage()); } } if(digesting) messageDigest.update(b, off, len); @@ -57,7 +57,7 @@ class SigningDigestingOutputStream extends FilterOutputStream { try { signature.update((byte) b); } catch(SignatureException e) { - throw new IOException(e); + throw new IOException(e.getMessage()); } } if(digesting) messageDigest.update((byte) b); -- GitLab