diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/Database.kt b/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/Database.kt index 336cac11ff218437b8dbc3e94287f33117a97b59..d1c225ff6ad834c587d9c52958888cc0241b7085 100644 --- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/Database.kt +++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/Database.kt @@ -4,7 +4,7 @@ import org.briarproject.mailbox.core.api.Contact import org.briarproject.mailbox.core.settings.Settings import java.sql.Connection -interface Database<T> { +interface Database { /** * Opens the database and returns true if the database already existed. @@ -22,20 +22,20 @@ interface Database<T> { * Starts a new transaction and returns an object representing it. */ @Throws(DbException::class) - fun startTransaction(): T + fun startTransaction(): Connection /** * Aborts the given transaction - no changes made during the transaction * will be applied to the database. */ - fun abortTransaction(txn: T) + fun abortTransaction(txn: Connection) /** * Commits the given transaction - all changes made during the transaction * will be applied to the database. */ @Throws(DbException::class) - fun commitTransaction(txn: T) + fun commitTransaction(txn: Connection) @Throws(DbException::class) fun getSettings(txn: Connection, namespace: String?): Settings @@ -44,12 +44,12 @@ interface Database<T> { fun mergeSettings(txn: Connection, s: Settings, namespace: String?) @Throws(DbException::class) - fun addContact(txn: T, contact: Contact) + fun addContact(txn: Connection, contact: Contact) @Throws(DbException::class) - fun getContact(txn: T, id: Int): Contact? + fun getContact(txn: Connection, id: Int): Contact? @Throws(DbException::class) - fun removeContact(txn: T, id: Int) + fun removeContact(txn: Connection, id: Int) } diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/DatabaseModule.kt b/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/DatabaseModule.kt index 50fd36f3336fd825c3ed69da48977cdc110c54ab..e32d0fc766b3d5afeac82f95b08fed3652ef22db 100644 --- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/DatabaseModule.kt +++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/DatabaseModule.kt @@ -5,7 +5,6 @@ import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import org.briarproject.mailbox.core.system.Clock -import java.sql.Connection import javax.inject.Singleton @Module @@ -14,7 +13,7 @@ internal class DatabaseModule { @Provides @Singleton - fun provideDatabase(config: DatabaseConfig, clock: Clock): Database<Connection> { + fun provideDatabase(config: DatabaseConfig, clock: Clock): Database { return H2Database(config, clock) } diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/JdbcDatabase.kt b/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/JdbcDatabase.kt index a0433b4879e8653fca233adc7182d118393f1f44..befc146cbb0cd6f33ef29926c9cb652444e08c1b 100644 --- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/JdbcDatabase.kt +++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/JdbcDatabase.kt @@ -25,7 +25,7 @@ import java.util.concurrent.locks.ReentrantLock import javax.annotation.concurrent.GuardedBy abstract class JdbcDatabase(private val dbTypes: DatabaseTypes, private val clock: Clock) : - Database<Connection> { + Database { internal companion object { diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/lifecycle/LifecycleManagerImpl.kt b/mailbox-core/src/main/java/org/briarproject/mailbox/core/lifecycle/LifecycleManagerImpl.kt index 4b1f8b91ba0971db3a28ac1e1ceda180abf0b65a..1ab9b3549ed4d6196c59bee7807a8f02c49d6f72 100644 --- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/lifecycle/LifecycleManagerImpl.kt +++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/lifecycle/LifecycleManagerImpl.kt @@ -23,7 +23,6 @@ import org.briarproject.mailbox.core.util.LogUtils.logException import org.briarproject.mailbox.core.util.LogUtils.now import org.briarproject.mailbox.core.util.LogUtils.trace import org.slf4j.LoggerFactory.getLogger -import java.sql.Connection import java.util.concurrent.CopyOnWriteArrayList import java.util.concurrent.CountDownLatch import java.util.concurrent.ExecutorService @@ -32,7 +31,7 @@ import javax.annotation.concurrent.ThreadSafe import javax.inject.Inject @ThreadSafe -internal class LifecycleManagerImpl @Inject constructor(private val db: Database<Connection>) : +internal class LifecycleManagerImpl @Inject constructor(private val db: Database) : LifecycleManager, MigrationListener { companion object { diff --git a/mailbox-core/src/test/java/org/briarproject/mailbox/core/db/JdbcDatabaseTest.kt b/mailbox-core/src/test/java/org/briarproject/mailbox/core/db/JdbcDatabaseTest.kt index f2e0018ab7b6a39312c5fc3b8d001a4f801d1bce..25e3aac1453214650d875911701b36d384168e63 100644 --- a/mailbox-core/src/test/java/org/briarproject/mailbox/core/db/JdbcDatabaseTest.kt +++ b/mailbox-core/src/test/java/org/briarproject/mailbox/core/db/JdbcDatabaseTest.kt @@ -6,7 +6,6 @@ import org.briarproject.mailbox.core.system.Clock import org.junit.jupiter.api.Test import org.junit.jupiter.api.io.TempDir import java.io.File -import java.sql.Connection import kotlin.test.assertEquals import kotlin.test.assertNull @@ -23,8 +22,8 @@ abstract class JdbcDatabaseTest { @Throws(java.lang.Exception::class) fun open( resume: Boolean, - ): Database<Connection> { - val db: Database<Connection> = createDatabase( + ): Database { + val db: Database = createDatabase( TestDatabaseConfig(testDir) ) { System.currentTimeMillis() } if (!resume) deleteTestDirectory(testDir) @@ -36,7 +35,7 @@ abstract class JdbcDatabaseTest { @Throws(Exception::class) open fun testPersistence() { // Store some records - var db: Database<Connection> = open(false) + var db: Database = open(false) var txn = db.startTransaction() val contact1 = Contact(