diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
index 7b9dcd72e..3d081536f 100644
--- a/.idea/codeStyles/Project.xml
+++ b/.idea/codeStyles/Project.xml
@@ -31,15 +31,6 @@
-
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseModule.java b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseModule.java
index 915ce7f16..b047f0d55 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseModule.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseModule.java
@@ -6,7 +6,6 @@ import org.briarproject.bramble.api.db.TransactionManager;
import org.briarproject.bramble.api.event.EventBus;
import org.briarproject.bramble.api.event.EventExecutor;
import org.briarproject.bramble.api.lifecycle.ShutdownManager;
-import org.briarproject.bramble.api.sync.MessageFactory;
import org.briarproject.bramble.api.system.Clock;
import java.sql.Connection;
@@ -22,9 +21,8 @@ public class DatabaseModule {
@Provides
@Singleton
- Database provideDatabase(DatabaseConfig config,
- MessageFactory messageFactory, Clock clock) {
- return new H2Database(config, messageFactory, clock);
+ Database provideDatabase(DatabaseConfig config, Clock clock) {
+ return new H2Database(config, clock);
}
@Provides
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java b/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java
index fe59c35a1..82af38e8b 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java
@@ -6,7 +6,6 @@ import org.briarproject.bramble.api.db.DbClosedException;
import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.db.MigrationListener;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
-import org.briarproject.bramble.api.sync.MessageFactory;
import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.util.StringUtils;
@@ -51,9 +50,8 @@ class H2Database extends JdbcDatabase {
private volatile SecretKey key = null;
@Inject
- H2Database(DatabaseConfig config, MessageFactory messageFactory,
- Clock clock) {
- super(dbTypes, messageFactory, clock);
+ H2Database(DatabaseConfig config, Clock clock) {
+ super(dbTypes, clock);
this.config = config;
File dir = config.getDatabaseDirectory();
String path = new File(dir, "db").getAbsolutePath();
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java b/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java
index aad359498..a7da569ff 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java
@@ -6,7 +6,6 @@ import org.briarproject.bramble.api.db.DbClosedException;
import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.db.MigrationListener;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
-import org.briarproject.bramble.api.sync.MessageFactory;
import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.util.StringUtils;
@@ -51,9 +50,8 @@ class HyperSqlDatabase extends JdbcDatabase {
private volatile SecretKey key = null;
@Inject
- HyperSqlDatabase(DatabaseConfig config, MessageFactory messageFactory,
- Clock clock) {
- super(dbTypes, messageFactory, clock);
+ HyperSqlDatabase(DatabaseConfig config, Clock clock) {
+ super(dbTypes, clock);
this.config = config;
File dir = config.getDatabaseDirectory();
String path = new File(dir, "db").getAbsolutePath();
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java b/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java
index c56b48e8d..8b8535449 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java
@@ -30,7 +30,6 @@ import org.briarproject.bramble.api.sync.Group;
import org.briarproject.bramble.api.sync.Group.Visibility;
import org.briarproject.bramble.api.sync.GroupId;
import org.briarproject.bramble.api.sync.Message;
-import org.briarproject.bramble.api.sync.MessageFactory;
import org.briarproject.bramble.api.sync.MessageId;
import org.briarproject.bramble.api.sync.MessageStatus;
import org.briarproject.bramble.api.sync.validation.MessageState;
@@ -76,7 +75,6 @@ import static org.briarproject.bramble.api.db.Metadata.REMOVE;
import static org.briarproject.bramble.api.sync.Group.Visibility.INVISIBLE;
import static org.briarproject.bramble.api.sync.Group.Visibility.SHARED;
import static org.briarproject.bramble.api.sync.Group.Visibility.VISIBLE;
-import static org.briarproject.bramble.api.sync.SyncConstants.MESSAGE_HEADER_LENGTH;
import static org.briarproject.bramble.api.sync.validation.MessageState.DELIVERED;
import static org.briarproject.bramble.api.sync.validation.MessageState.PENDING;
import static org.briarproject.bramble.api.sync.validation.MessageState.UNKNOWN;
@@ -98,7 +96,7 @@ import static org.briarproject.bramble.util.LogUtils.now;
abstract class JdbcDatabase implements Database {
// Package access for testing
- static final int CODE_SCHEMA_VERSION = 47;
+ static final int CODE_SCHEMA_VERSION = 48;
// Time period offsets for incoming transport keys
private static final int OFFSET_PREV = -1;
@@ -181,7 +179,8 @@ abstract class JdbcDatabase implements Database {
+ " shared BOOLEAN NOT NULL,"
+ " temporary BOOLEAN NOT NULL,"
+ " length INT NOT NULL,"
- + " raw BLOB," // Null if message has been deleted
+ + " deleted BOOLEAN NOT NULL,"
+ + " blockCount INT NOT NULL,"
+ " PRIMARY KEY (messageId),"
+ " FOREIGN KEY (groupId)"
+ " REFERENCES groups (groupId)"
@@ -227,6 +226,17 @@ abstract class JdbcDatabase implements Database {
+ " REFERENCES contacts (contactId)"
+ " ON DELETE CASCADE)";
+ private static final String CREATE_BLOCKS =
+ "CREATE TABLE blocks"
+ + " (messageId _HASH NOT NULL,"
+ + " blockNumber INT NOT NULL,"
+ + " blockLength INT NOT NULL,"
+ + " data BLOB," // Null if message has been deleted
+ + " PRIMARY KEY (messageId, blockNumber),"
+ + " FOREIGN KEY (messageId)"
+ + " REFERENCES messages (messageId)"
+ + " ON DELETE CASCADE)";
+
private static final String CREATE_STATUSES =
"CREATE TABLE statuses"
+ " (messageId _HASH NOT NULL,"
@@ -339,7 +349,6 @@ abstract class JdbcDatabase implements Database {
private static final Logger LOG =
getLogger(JdbcDatabase.class.getName());
- private final MessageFactory messageFactory;
private final Clock clock;
private final DatabaseTypes dbTypes;
@@ -359,10 +368,8 @@ abstract class JdbcDatabase implements Database {
protected abstract void compactAndClose() throws DbException;
- JdbcDatabase(DatabaseTypes databaseTypes, MessageFactory messageFactory,
- Clock clock) {
+ JdbcDatabase(DatabaseTypes databaseTypes, Clock clock) {
this.dbTypes = databaseTypes;
- this.messageFactory = messageFactory;
this.clock = clock;
}
@@ -463,7 +470,8 @@ abstract class JdbcDatabase implements Database {
new Migration43_44(dbTypes),
new Migration44_45(),
new Migration45_46(),
- new Migration46_47(dbTypes)
+ new Migration46_47(dbTypes),
+ new Migration47_48(dbTypes)
);
}
@@ -509,6 +517,7 @@ abstract class JdbcDatabase implements Database {
s.executeUpdate(dbTypes.replaceTypes(CREATE_MESSAGE_METADATA));
s.executeUpdate(dbTypes.replaceTypes(CREATE_MESSAGE_DEPENDENCIES));
s.executeUpdate(dbTypes.replaceTypes(CREATE_OFFERS));
+ s.executeUpdate(dbTypes.replaceTypes(CREATE_BLOCKS));
s.executeUpdate(dbTypes.replaceTypes(CREATE_STATUSES));
s.executeUpdate(dbTypes.replaceTypes(CREATE_TRANSPORTS));
s.executeUpdate(dbTypes.replaceTypes(CREATE_PENDING_CONTACTS));
@@ -726,7 +735,7 @@ abstract class JdbcDatabase implements Database {
ResultSet rs = null;
try {
String sql = "SELECT messageId, timestamp, state, shared,"
- + " length, raw IS NULL"
+ + " length, deleted"
+ " FROM messages"
+ " WHERE groupId = ?";
ps = txn.prepareStatement(sql);
@@ -788,8 +797,8 @@ abstract class JdbcDatabase implements Database {
PreparedStatement ps = null;
try {
String sql = "INSERT INTO messages (messageId, groupId, timestamp,"
- + " state, shared, temporary, length, raw)"
- + " VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
+ + " state, shared, temporary, length, deleted, blockCount)"
+ + " VALUES (?, ?, ?, ?, ?, ?, ?, FALSE, 1)";
ps = txn.prepareStatement(sql);
ps.setBytes(1, m.getId().getBytes());
ps.setBytes(2, m.getGroupId().getBytes());
@@ -797,12 +806,20 @@ abstract class JdbcDatabase implements Database {
ps.setInt(4, state.getValue());
ps.setBoolean(5, shared);
ps.setBoolean(6, temporary);
- byte[] raw = messageFactory.getRawMessage(m);
- ps.setInt(7, raw.length);
- ps.setBytes(8, raw);
+ ps.setInt(7, m.getRawLength());
int affected = ps.executeUpdate();
if (affected != 1) throw new DbStateException();
ps.close();
+ sql = "INSERT INTO blocks (messageId, blockNumber, blockLength,"
+ + " data)"
+ + " VALUES (?, 0, ?, ?)";
+ ps = txn.prepareStatement(sql);
+ ps.setBytes(1, m.getId().getBytes());
+ ps.setInt(2, m.getBody().length);
+ ps.setBytes(3, m.getBody());
+ affected = ps.executeUpdate();
+ if (affected != 1) throw new DbStateException();
+ ps.close();
// Create a status row for each contact that can see the group
Map visibility =
getGroupVisibility(txn, m.getGroupId());
@@ -811,7 +828,8 @@ abstract class JdbcDatabase implements Database {
boolean offered = removeOfferedMessage(txn, c, m.getId());
boolean seen = offered || c.equals(sender);
addStatus(txn, m.getId(), c, m.getGroupId(), m.getTimestamp(),
- raw.length, state, e.getValue(), shared, false, seen);
+ m.getRawLength(), state, e.getValue(), shared, false,
+ seen);
}
// Update denormalised column in messageDependencies if dependency
// is in same group as dependent
@@ -1290,12 +1308,18 @@ abstract class JdbcDatabase implements Database {
public void deleteMessage(Connection txn, MessageId m) throws DbException {
PreparedStatement ps = null;
try {
- String sql = "UPDATE messages SET raw = NULL WHERE messageId = ?";
+ String sql = "UPDATE messages SET deleted = TRUE"
+ + " WHERE messageId = ?";
ps = txn.prepareStatement(sql);
ps.setBytes(1, m.getBytes());
int affected = ps.executeUpdate();
+ if (affected < 0 || affected > 1) throw new DbStateException();
+ ps.close();
+ sql = "UPDATE blocks SET data = NULL WHERE messageId = ?";
+ ps = txn.prepareStatement(sql);
+ ps.setBytes(1, m.getBytes());
+ affected = ps.executeUpdate();
if (affected < 0) throw new DbStateException();
- if (affected > 1) throw new DbStateException();
ps.close();
// Update denormalised column in statuses
sql = "UPDATE statuses SET deleted = TRUE WHERE messageId = ?";
@@ -1692,7 +1716,7 @@ abstract class JdbcDatabase implements Database {
PreparedStatement ps = null;
ResultSet rs = null;
try {
- String sql = "SELECT groupId, timestamp, raw FROM messages"
+ String sql = "SELECT groupId, timestamp, deleted FROM messages"
+ " WHERE messageId = ?";
ps = txn.prepareStatement(sql);
ps.setBytes(1, m.getBytes());
@@ -1700,15 +1724,23 @@ abstract class JdbcDatabase implements Database {
if (!rs.next()) throw new DbStateException();
GroupId g = new GroupId(rs.getBytes(1));
long timestamp = rs.getLong(2);
- byte[] raw = rs.getBytes(3);
+ boolean deleted = rs.getBoolean(3);
if (rs.next()) throw new DbStateException();
rs.close();
ps.close();
- if (raw == null) throw new MessageDeletedException();
- if (raw.length <= MESSAGE_HEADER_LENGTH) throw new AssertionError();
- byte[] body = new byte[raw.length - MESSAGE_HEADER_LENGTH];
- System.arraycopy(raw, MESSAGE_HEADER_LENGTH, body, 0, body.length);
- return new Message(m, g, timestamp, body);
+ if (deleted) throw new MessageDeletedException();
+ sql = "SELECT data FROM blocks"
+ + " WHERE messageId = ? AND blockNumber = 0";
+ ps = txn.prepareStatement(sql);
+ ps.setBytes(1, m.getBytes());
+ rs = ps.executeQuery();
+ if (!rs.next()) throw new DbStateException();
+ byte[] data = rs.getBytes(1);
+ if (data == null) throw new DbStateException();
+ if (rs.next()) throw new DbStateException();
+ rs.close();
+ ps.close();
+ return new Message(m, g, timestamp, data);
} catch (SQLException e) {
tryToClose(rs, LOG, WARNING);
tryToClose(ps, LOG, WARNING);
@@ -2182,7 +2214,7 @@ abstract class JdbcDatabase implements Database {
ResultSet rs = null;
try {
String sql = "SELECT messageId FROM messages"
- + " WHERE state = ? AND raw IS NOT NULL";
+ + " WHERE state = ? AND deleted = FALSE";
ps = txn.prepareStatement(sql);
ps.setInt(1, state.getValue());
rs = ps.executeQuery();
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/Migration47_48.java b/bramble-core/src/main/java/org/briarproject/bramble/db/Migration47_48.java
new file mode 100644
index 000000000..7ce6e6598
--- /dev/null
+++ b/bramble-core/src/main/java/org/briarproject/bramble/db/Migration47_48.java
@@ -0,0 +1,100 @@
+package org.briarproject.bramble.db;
+
+import org.briarproject.bramble.api.db.DbException;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.logging.Logger;
+
+import static java.lang.System.arraycopy;
+import static java.sql.Types.BINARY;
+import static java.util.logging.Level.INFO;
+import static java.util.logging.Level.WARNING;
+import static java.util.logging.Logger.getLogger;
+import static org.briarproject.bramble.api.sync.SyncConstants.MESSAGE_HEADER_LENGTH;
+import static org.briarproject.bramble.db.JdbcUtils.tryToClose;
+
+class Migration47_48 implements Migration {
+
+ private static final Logger LOG = getLogger(Migration47_48.class.getName());
+
+ private final DatabaseTypes dbTypes;
+
+ Migration47_48(DatabaseTypes dbTypes) {
+ this.dbTypes = dbTypes;
+ }
+
+ @Override
+ public int getStartVersion() {
+ return 47;
+ }
+
+ @Override
+ public int getEndVersion() {
+ return 48;
+ }
+
+ @Override
+ public void migrate(Connection txn) throws DbException {
+ Statement s = null;
+ ResultSet rs = null;
+ PreparedStatement ps = null;
+ try {
+ s = txn.createStatement();
+ s.execute("ALTER TABLE messages"
+ + " ADD COLUMN deleted BOOLEAN DEFAULT FALSE NOT NULL");
+ LOG.info("Created column messages.deleted");
+ s.execute("UPDATE messages SET deleted = TRUE WHERE raw IS NULL");
+ LOG.info("Populated column messages.deleted");
+ s.execute("ALTER TABLE messages"
+ + " ADD COLUMN blockCount INT DEFAULT 1 NOT NULL");
+ LOG.info("Created column messages.blockCount");
+ s.execute(dbTypes.replaceTypes("CREATE TABLE blocks"
+ + " (messageId _HASH NOT NULL,"
+ + " blockNumber INT NOT NULL,"
+ + " blockLength INT NOT NULL,"
+ + " data BLOB," // Null if message has been deleted
+ + " PRIMARY KEY (messageId, blockNumber),"
+ + " FOREIGN KEY (messageId)"
+ + " REFERENCES messages (messageId)"
+ + " ON DELETE CASCADE)"));
+ LOG.info("Created table blocks");
+ rs = s.executeQuery("SELECT messageId, length, raw FROM messages");
+ ps = txn.prepareStatement("INSERT INTO blocks"
+ + " (messageId, blockNumber, blockLength, data)"
+ + " VALUES (?, 0, ?, ?)");
+ int migrated = 0;
+ while (rs.next()) {
+ byte[] id = rs.getBytes(1);
+ int length = rs.getInt(2);
+ byte[] raw = rs.getBytes(3);
+ ps.setBytes(1, id);
+ ps.setInt(2, length - MESSAGE_HEADER_LENGTH);
+ if (raw == null) {
+ ps.setNull(3, BINARY);
+ } else {
+ byte[] data = new byte[raw.length - MESSAGE_HEADER_LENGTH];
+ arraycopy(raw, MESSAGE_HEADER_LENGTH, data, 0, data.length);
+ ps.setBytes(3, data);
+ }
+ if (ps.executeUpdate() != 1) throw new DbStateException();
+ migrated++;
+ }
+ ps.close();
+ rs.close();
+ if (LOG.isLoggable(INFO))
+ LOG.info("Migrated " + migrated + " messages");
+ s.execute("ALTER TABLE messages DROP COLUMN raw");
+ LOG.info("Dropped column messages.raw");
+ s.close();
+ } catch (SQLException e) {
+ tryToClose(ps, LOG, WARNING);
+ tryToClose(rs, LOG, WARNING);
+ tryToClose(s, LOG, WARNING);
+ throw new DbException(e);
+ }
+ }
+}
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabasePerformanceComparisonTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabasePerformanceComparisonTest.java
index 2da0aae77..aba3fa482 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabasePerformanceComparisonTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabasePerformanceComparisonTest.java
@@ -3,11 +3,9 @@ package org.briarproject.bramble.db;
import org.briarproject.bramble.api.crypto.SecretKey;
import org.briarproject.bramble.api.db.DatabaseConfig;
import org.briarproject.bramble.api.db.DbException;
-import org.briarproject.bramble.api.sync.MessageFactory;
import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.system.SystemClock;
import org.briarproject.bramble.test.TestDatabaseConfig;
-import org.briarproject.bramble.test.TestMessageFactory;
import org.briarproject.bramble.test.UTest;
import java.io.IOException;
@@ -32,8 +30,7 @@ public abstract class DatabasePerformanceComparisonTest
private SecretKey databaseKey = getSecretKey();
abstract Database createDatabase(boolean conditionA,
- DatabaseConfig databaseConfig, MessageFactory messageFactory,
- Clock clock);
+ DatabaseConfig databaseConfig, Clock clock);
@Override
protected void benchmark(String name,
@@ -76,8 +73,7 @@ public abstract class DatabasePerformanceComparisonTest
private Database openDatabase(boolean conditionA)
throws DbException {
Database db = createDatabase(conditionA,
- new TestDatabaseConfig(testDir), new TestMessageFactory(),
- new SystemClock());
+ new TestDatabaseConfig(testDir), new SystemClock());
db.open(databaseKey, null);
return db;
}
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseTraceTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseTraceTest.java
index d61983603..e6b49f060 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseTraceTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseTraceTest.java
@@ -3,11 +3,9 @@ package org.briarproject.bramble.db;
import org.briarproject.bramble.api.crypto.SecretKey;
import org.briarproject.bramble.api.db.DatabaseConfig;
import org.briarproject.bramble.api.db.DbException;
-import org.briarproject.bramble.api.sync.MessageFactory;
import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.system.SystemClock;
import org.briarproject.bramble.test.TestDatabaseConfig;
-import org.briarproject.bramble.test.TestMessageFactory;
import org.briarproject.bramble.util.IoUtils;
import java.io.File;
@@ -26,7 +24,7 @@ public abstract class DatabaseTraceTest extends DatabasePerformanceTest {
private SecretKey databaseKey = getSecretKey();
abstract Database createDatabase(DatabaseConfig databaseConfig,
- MessageFactory messageFactory, Clock clock);
+ Clock clock);
@Nullable
protected abstract File getTraceFile();
@@ -48,8 +46,7 @@ public abstract class DatabaseTraceTest extends DatabasePerformanceTest {
private Database openDatabase() throws DbException {
Database db = createDatabase(
- new TestDatabaseConfig(testDir), new TestMessageFactory(),
- new SystemClock());
+ new TestDatabaseConfig(testDir), new SystemClock());
db.open(databaseKey, null);
return db;
}
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabasePerformanceTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabasePerformanceTest.java
index f682997f7..48446c8e0 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabasePerformanceTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabasePerformanceTest.java
@@ -16,6 +16,6 @@ public class H2DatabasePerformanceTest extends SingleDatabasePerformanceTest {
@Override
protected JdbcDatabase createDatabase(DatabaseConfig config,
MessageFactory messageFactory, Clock clock) {
- return new H2Database(config, messageFactory, clock);
+ return new H2Database(config, clock);
}
}
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabaseTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabaseTest.java
index 19822113d..0e5ca817d 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabaseTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabaseTest.java
@@ -9,6 +9,6 @@ public class H2DatabaseTest extends JdbcDatabaseTest {
@Override
protected JdbcDatabase createDatabase(DatabaseConfig config,
MessageFactory messageFactory, Clock clock) {
- return new H2Database(config, messageFactory, clock);
+ return new H2Database(config, clock);
}
}
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabaseTraceTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabaseTraceTest.java
index b87f3992a..2b12f88b0 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabaseTraceTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabaseTraceTest.java
@@ -1,7 +1,6 @@
package org.briarproject.bramble.db;
import org.briarproject.bramble.api.db.DatabaseConfig;
-import org.briarproject.bramble.api.sync.MessageFactory;
import org.briarproject.bramble.api.system.Clock;
import org.junit.Ignore;
@@ -15,8 +14,8 @@ public class H2DatabaseTraceTest extends DatabaseTraceTest {
@Override
Database createDatabase(DatabaseConfig databaseConfig,
- MessageFactory messageFactory, Clock clock) {
- return new H2Database(databaseConfig, messageFactory, clock) {
+ Clock clock) {
+ return new H2Database(databaseConfig, clock) {
@Override
@Nonnull
String getUrl() {
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/H2HyperSqlDatabasePerformanceComparisonTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/H2HyperSqlDatabasePerformanceComparisonTest.java
index 8fd8d35c8..074ab7b07 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/H2HyperSqlDatabasePerformanceComparisonTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/H2HyperSqlDatabasePerformanceComparisonTest.java
@@ -1,7 +1,6 @@
package org.briarproject.bramble.db;
import org.briarproject.bramble.api.db.DatabaseConfig;
-import org.briarproject.bramble.api.sync.MessageFactory;
import org.briarproject.bramble.api.system.Clock;
import org.junit.Ignore;
@@ -13,11 +12,11 @@ public class H2HyperSqlDatabasePerformanceComparisonTest
@Override
Database createDatabase(boolean conditionA,
- DatabaseConfig databaseConfig, MessageFactory messageFactory,
+ DatabaseConfig databaseConfig,
Clock clock) {
if (conditionA)
- return new H2Database(databaseConfig, messageFactory, clock);
- else return new HyperSqlDatabase(databaseConfig, messageFactory, clock);
+ return new H2Database(databaseConfig, clock);
+ else return new HyperSqlDatabase(databaseConfig, clock);
}
@Override
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/H2MigrationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/H2MigrationTest.java
index 4646a05b4..29bdbfa5f 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/H2MigrationTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/H2MigrationTest.java
@@ -11,7 +11,7 @@ public class H2MigrationTest extends DatabaseMigrationTest {
@Override
Database createDatabase(
List> migrations) {
- return new H2Database(config, messageFactory, clock) {
+ return new H2Database(config, clock) {
@Override
List> getMigrations() {
return migrations;
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/H2SelfDatabasePerformanceComparisonTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/H2SelfDatabasePerformanceComparisonTest.java
index 5af317910..b3b5bde23 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/H2SelfDatabasePerformanceComparisonTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/H2SelfDatabasePerformanceComparisonTest.java
@@ -1,7 +1,6 @@
package org.briarproject.bramble.db;
import org.briarproject.bramble.api.db.DatabaseConfig;
-import org.briarproject.bramble.api.sync.MessageFactory;
import org.briarproject.bramble.api.system.Clock;
import org.junit.Ignore;
@@ -18,9 +17,9 @@ public class H2SelfDatabasePerformanceComparisonTest
@Override
Database createDatabase(boolean conditionA,
- DatabaseConfig databaseConfig, MessageFactory messageFactory,
+ DatabaseConfig databaseConfig,
Clock clock) {
- return new H2Database(databaseConfig, messageFactory, clock);
+ return new H2Database(databaseConfig, clock);
}
@Override
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/H2SleepDatabasePerformanceComparisonTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/H2SleepDatabasePerformanceComparisonTest.java
index 641f20805..73d382bc5 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/H2SleepDatabasePerformanceComparisonTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/H2SleepDatabasePerformanceComparisonTest.java
@@ -3,7 +3,6 @@ package org.briarproject.bramble.db;
import org.briarproject.bramble.api.db.DatabaseConfig;
import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
-import org.briarproject.bramble.api.sync.MessageFactory;
import org.briarproject.bramble.api.system.Clock;
import org.junit.Ignore;
@@ -20,12 +19,11 @@ public class H2SleepDatabasePerformanceComparisonTest
@Override
Database createDatabase(boolean conditionA,
- DatabaseConfig databaseConfig, MessageFactory messageFactory,
- Clock clock) {
+ DatabaseConfig databaseConfig, Clock clock) {
if (conditionA) {
- return new H2Database(databaseConfig, messageFactory, clock);
+ return new H2Database(databaseConfig, clock);
} else {
- return new H2Database(databaseConfig, messageFactory, clock) {
+ return new H2Database(databaseConfig, clock) {
@Override
@NotNullByDefault
public void commitTransaction(Connection txn)
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/HyperSqlDatabasePerformanceTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/HyperSqlDatabasePerformanceTest.java
index 27b39e924..7e7a67fee 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/HyperSqlDatabasePerformanceTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/HyperSqlDatabasePerformanceTest.java
@@ -17,6 +17,6 @@ public class HyperSqlDatabasePerformanceTest
@Override
protected JdbcDatabase createDatabase(DatabaseConfig config,
MessageFactory messageFactory, Clock clock) {
- return new HyperSqlDatabase(config, messageFactory, clock);
+ return new HyperSqlDatabase(config, clock);
}
}
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/HyperSqlDatabaseTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/HyperSqlDatabaseTest.java
index bf785e31e..dc1eb86b0 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/HyperSqlDatabaseTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/HyperSqlDatabaseTest.java
@@ -9,6 +9,6 @@ public class HyperSqlDatabaseTest extends JdbcDatabaseTest {
@Override
protected JdbcDatabase createDatabase(DatabaseConfig config,
MessageFactory messageFactory, Clock clock) {
- return new HyperSqlDatabase(config, messageFactory ,clock);
+ return new HyperSqlDatabase(config, clock);
}
}
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/HyperSqlMigrationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/HyperSqlMigrationTest.java
index f4468728f..7e819905f 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/HyperSqlMigrationTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/HyperSqlMigrationTest.java
@@ -11,7 +11,7 @@ public class HyperSqlMigrationTest extends DatabaseMigrationTest {
@Override
Database createDatabase(
List> migrations) {
- return new HyperSqlDatabase(config, messageFactory, clock) {
+ return new HyperSqlDatabase(config, clock) {
@Override
List> getMigrations() {
return migrations;