Added names to contacts, created Contact class in API.

This commit is contained in:
akwizgran
2013-02-12 17:38:49 +00:00
parent 79fc630ab7
commit 96f8e49d64
8 changed files with 153 additions and 75 deletions

View File

@@ -0,0 +1,31 @@
package net.sf.briar.api;
public class Contact {
private final ContactId id;
private final String name;
public Contact(ContactId id, String name) {
this.id = id;
this.name = name;
}
public ContactId getId() {
return id;
}
public String getName() {
return name;
}
@Override
public int hashCode() {
return id.hashCode();
}
@Override
public boolean equals(Object o) {
if(o instanceof Contact) return id.equals(((Contact) o).id);
return false;
}
}

View File

@@ -4,6 +4,7 @@ import java.io.IOException;
import java.util.Collection;
import java.util.Map;
import net.sf.briar.api.Contact;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.Rating;
import net.sf.briar.api.TransportConfig;
@@ -50,11 +51,12 @@ public interface DatabaseComponent {
void removeListener(DatabaseListener d);
/**
* Adds a new contact to the database and returns an ID for the contact.
* Adds a contact with the given name to the database and returns an ID for
* the contact.
*/
ContactId addContact() throws DbException;
ContactId addContact(String name) throws DbException;
/** Adds an endpoitn to the database. */
/** Adds an endpoint to the database. */
void addEndpoint(Endpoint ep) throws DbException;
/** Adds a locally generated group message to the database. */
@@ -155,8 +157,8 @@ public interface DatabaseComponent {
/** Returns the configuration for the given transport. */
TransportConfig getConfig(TransportId t) throws DbException;
/** Returns the IDs of all contacts. */
Collection<ContactId> getContacts() throws DbException;
/** Returns all contacts. */
Collection<Contact> getContacts() throws DbException;
/** Returns the local transport properties for the given transport. */
TransportProperties getLocalProperties(TransportId t) throws DbException;

View File

@@ -4,6 +4,7 @@ import java.io.IOException;
import java.util.Collection;
import java.util.Map;
import net.sf.briar.api.Contact;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.Rating;
import net.sf.briar.api.TransportConfig;
@@ -77,11 +78,12 @@ interface Database<T> {
void commitTransaction(T txn) throws DbException;
/**
* Adds a new contact to the database and returns an ID for the contact.
* Adds a contact with the given name to the database and returns an ID for
* the contact.
* <p>
* Locking: contact write, subscription write.
*/
ContactId addContact(T txn) throws DbException;
ContactId addContact(T txn, String name) throws DbException;
/**
* Adds an endpoint to the database.
@@ -203,7 +205,14 @@ interface Database<T> {
* <p>
* Locking: contact read.
*/
Collection<ContactId> getContacts(T txn) throws DbException;
Collection<ContactId> getContactIds(T txn) throws DbException;
/**
* Returns all contacts.
* <p>
* Locking: contact read.
*/
Collection<Contact> getContacts(T txn) throws DbException;
/**
* Returns all endpoints.

View File

@@ -22,6 +22,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.logging.Logger;
import net.sf.briar.api.Contact;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.Rating;
import net.sf.briar.api.TransportConfig;
@@ -171,7 +172,7 @@ DatabaseCleaner.Callback {
listeners.remove(d);
}
public ContactId addContact() throws DbException {
public ContactId addContact(String name) throws DbException {
ContactId c;
contactLock.writeLock().lock();
try {
@@ -179,7 +180,7 @@ DatabaseCleaner.Callback {
try {
T txn = db.startTransaction();
try {
c = db.addContact(txn);
c = db.addContact(txn, name);
db.commitTransaction(txn);
} catch(DbException e) {
db.abortTransaction(txn);
@@ -279,7 +280,7 @@ DatabaseCleaner.Callback {
if(sender != null) db.addStatus(txn, sender, id, true);
if(stored) {
// Mark the message as unseen by other contacts
for(ContactId c : db.getContacts(txn)) {
for(ContactId c : db.getContactIds(txn)) {
if(!c.equals(sender)) db.addStatus(txn, c, id, false);
}
// Calculate and store the message's sendability
@@ -801,12 +802,12 @@ DatabaseCleaner.Callback {
}
}
public Collection<ContactId> getContacts() throws DbException {
public Collection<Contact> getContacts() throws DbException {
contactLock.readLock().lock();
try {
T txn = db.startTransaction();
try {
Collection<ContactId> contacts = db.getContacts(txn);
Collection<Contact> contacts = db.getContacts(txn);
db.commitTransaction(txn);
return contacts;
} catch(DbException e) {
@@ -1691,7 +1692,7 @@ DatabaseCleaner.Callback {
HashSet<ContactId> oldVisible =
new HashSet<ContactId>(db.getVisibility(txn, g));
// Set the group's visibility for each current contact
for(ContactId c : db.getContacts(txn)) {
for(ContactId c : db.getContactIds(txn)) {
boolean then = oldVisible.contains(c);
boolean now = newVisible.contains(c);
if(!then && now) {

View File

@@ -26,6 +26,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger;
import net.sf.briar.api.Contact;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.Rating;
import net.sf.briar.api.TransportConfig;
@@ -58,7 +59,10 @@ abstract class JdbcDatabase implements Database<Connection> {
// Locking: contact
private static final String CREATE_CONTACTS =
"CREATE TABLE contacts (contactId COUNTER)";
"CREATE TABLE contacts "
+ " (contactId COUNTER,"
+ " name VARCHAR NOT NULL,"
+ " PRIMARY KEY (contactId))";
// Locking: subscription
private static final String CREATE_GROUPS =
@@ -492,13 +496,15 @@ abstract class JdbcDatabase implements Database<Connection> {
if(interrupted) Thread.currentThread().interrupt();
}
public ContactId addContact(Connection txn) throws DbException {
public ContactId addContact(Connection txn, String name)
throws DbException {
PreparedStatement ps = null;
ResultSet rs = null;
try {
// Create a contact row
String sql = "INSERT INTO contacts DEFAULT VALUES";
String sql = "INSERT INTO contacts (name) VALUES (?)";
ps = txn.prepareStatement(sql);
ps.setString(1, name);
int affected = ps.executeUpdate();
if(affected != 1) throw new DbStateException();
ps.close();
@@ -1001,7 +1007,7 @@ abstract class JdbcDatabase implements Database<Connection> {
}
}
public Collection<ContactId> getContacts(Connection txn)
public Collection<ContactId> getContactIds(Connection txn)
throws DbException {
PreparedStatement ps = null;
ResultSet rs = null;
@@ -1021,6 +1027,30 @@ abstract class JdbcDatabase implements Database<Connection> {
}
}
public Collection<Contact> getContacts(Connection txn)
throws DbException {
PreparedStatement ps = null;
ResultSet rs = null;
try {
String sql = "SELECT contactId, name FROM contacts";
ps = txn.prepareStatement(sql);
rs = ps.executeQuery();
List<Contact> contacts = new ArrayList<Contact>();
while(rs.next()) {
ContactId id = new ContactId(rs.getInt(1));
String name = rs.getString(2);
contacts.add(new Contact(id, name));
}
rs.close();
ps.close();
return Collections.unmodifiableList(contacts);
} catch(SQLException e) {
tryToClose(rs);
tryToClose(ps);
throw new DbException(e);
}
}
public Collection<Endpoint> getEndpoints(Connection txn)
throws DbException {
PreparedStatement ps = null;

View File

@@ -14,6 +14,7 @@ import java.util.Map;
import net.sf.briar.BriarTestCase;
import net.sf.briar.TestMessage;
import net.sf.briar.TestUtils;
import net.sf.briar.api.Contact;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportConfig;
import net.sf.briar.api.TransportProperties;
@@ -56,10 +57,11 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
protected final ContactId contactId;
protected final GroupId groupId;
protected final MessageId messageId, messageId1;
private final String subject;
private final String contactName, subject;
private final long timestamp;
private final int size;
private final byte[] raw;
private final Contact contact;
private final Message message, privateMessage;
private final Group group;
private final TransportId transportId;
@@ -74,10 +76,12 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
groupId = new GroupId(TestUtils.getRandomId());
messageId = new MessageId(TestUtils.getRandomId());
messageId1 = new MessageId(TestUtils.getRandomId());
contactName = "Alice";
subject = "Foo";
timestamp = System.currentTimeMillis();
size = 1234;
raw = new byte[size];
contact = new Contact(contactId, contactName);
message = new TestMessage(messageId, null, groupId, authorId, subject,
timestamp, raw);
privateMessage = new TestMessage(messageId, null, null, null, subject,
@@ -127,13 +131,13 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
// setRating(authorId, GOOD) again
oneOf(database).setRating(txn, authorId, GOOD);
will(returnValue(GOOD));
// addContact()
oneOf(database).addContact(txn);
// addContact(contactName)
oneOf(database).addContact(txn, contactName);
will(returnValue(contactId));
oneOf(listener).eventOccurred(with(any(ContactAddedEvent.class)));
// getContacts()
oneOf(database).getContacts(txn);
will(returnValue(Arrays.asList(contactId)));
will(returnValue(Arrays.asList(contact)));
// getRemoteProperties(transportId)
oneOf(database).getRemoteProperties(txn, transportId);
will(returnValue(Collections.emptyMap()));
@@ -178,8 +182,8 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
assertEquals(UNRATED, db.getRating(authorId));
db.setRating(authorId, GOOD); // First time - listeners called
db.setRating(authorId, GOOD); // Second time - not called
assertEquals(contactId, db.addContact());
assertEquals(Arrays.asList(contactId), db.getContacts());
assertEquals(contactId, db.addContact(contactName));
assertEquals(Arrays.asList(contact), db.getContacts());
assertEquals(Collections.emptyMap(),
db.getRemoteProperties(transportId));
db.subscribe(group); // First time - listeners called
@@ -366,7 +370,7 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
will(returnValue(true));
oneOf(database).addGroupMessage(txn, message);
will(returnValue(true));
oneOf(database).getContacts(txn);
oneOf(database).getContactIds(txn);
will(returnValue(Arrays.asList(contactId)));
oneOf(database).addStatus(txn, contactId, messageId, false);
// The author is unrated and there are no sendable children
@@ -401,7 +405,7 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
will(returnValue(true));
oneOf(database).addGroupMessage(txn, message);
will(returnValue(true));
oneOf(database).getContacts(txn);
oneOf(database).getContactIds(txn);
will(returnValue(Arrays.asList(contactId)));
oneOf(database).addStatus(txn, contactId, messageId, false);
// The author is rated GOOD and there are two sendable children
@@ -653,7 +657,7 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
// addContact()
oneOf(database).startTransaction();
will(returnValue(txn));
oneOf(database).addContact(txn);
oneOf(database).addContact(txn, contactName);
will(returnValue(contactId));
oneOf(database).commitTransaction(txn);
// Check whether the transport is in the DB (which it's not)
@@ -667,7 +671,7 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
}});
DatabaseComponent db = createDatabaseComponent(database, cleaner,
shutdown);
assertEquals(contactId, db.addContact());
assertEquals(contactId, db.addContact(contactName));
try {
db.addEndpoint(endpoint);
@@ -1182,7 +1186,7 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
will(returnValue(true));
oneOf(database).addStatus(txn, contactId, messageId, true);
// Set the status to seen = true for all other contacts (none)
oneOf(database).getContacts(txn);
oneOf(database).getContactIds(txn);
will(returnValue(Arrays.asList(contactId)));
// Calculate the sendability - zero, so ancestors aren't updated
oneOf(database).getRating(txn, authorId);
@@ -1224,7 +1228,7 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
will(returnValue(true));
oneOf(database).addStatus(txn, contactId, messageId, true);
// Set the status to seen = true for all other contacts (none)
oneOf(database).getContacts(txn);
oneOf(database).getContactIds(txn);
will(returnValue(Arrays.asList(contactId)));
// Calculate the sendability - ancestors are updated
oneOf(database).getRating(txn, authorId);
@@ -1424,7 +1428,7 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
will(returnValue(true));
oneOf(database).addGroupMessage(txn, message);
will(returnValue(true));
oneOf(database).getContacts(txn);
oneOf(database).getContactIds(txn);
will(returnValue(Arrays.asList(contactId)));
oneOf(database).addStatus(txn, contactId, messageId, false);
oneOf(database).getRating(txn, authorId);
@@ -1631,7 +1635,7 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
will(returnValue(true));
oneOf(database).getVisibility(txn, groupId);
will(returnValue(both));
oneOf(database).getContacts(txn);
oneOf(database).getContactIds(txn);
will(returnValue(both));
oneOf(database).removeVisibility(txn, contactId1, groupId);
oneOf(database).commitTransaction(txn);
@@ -1665,7 +1669,7 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
will(returnValue(true));
oneOf(database).getVisibility(txn, groupId);
will(returnValue(both));
oneOf(database).getContacts(txn);
oneOf(database).getContactIds(txn);
will(returnValue(both));
oneOf(database).commitTransaction(txn);
}});

View File

@@ -55,7 +55,7 @@ public class H2DatabaseTest extends BriarTestCase {
private final ContactId contactId;
private final GroupId groupId;
private final MessageId messageId, messageId1;
private final String subject;
private final String contactName, subject;
private final long timestamp;
private final int size;
private final byte[] raw;
@@ -70,6 +70,7 @@ public class H2DatabaseTest extends BriarTestCase {
messageId = new MessageId(TestUtils.getRandomId());
messageId1 = new MessageId(TestUtils.getRandomId());
group = new Group(groupId, "Foo", null);
contactName = "Alice";
subject = "Foo";
timestamp = System.currentTimeMillis();
size = 1234;
@@ -93,7 +94,7 @@ public class H2DatabaseTest extends BriarTestCase {
Database<Connection> db = open(false);
Connection txn = db.startTransaction();
assertFalse(db.containsContact(txn, contactId));
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
assertTrue(db.containsContact(txn, contactId));
assertFalse(db.containsSubscription(txn, groupId));
db.addSubscription(txn, group);
@@ -147,22 +148,22 @@ public class H2DatabaseTest extends BriarTestCase {
Database<Connection> db = open(false);
Connection txn = db.startTransaction();
// Create three contacts
// Create three contacts, all with the same name
assertFalse(db.containsContact(txn, contactId));
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
assertTrue(db.containsContact(txn, contactId));
assertFalse(db.containsContact(txn, contactId1));
assertEquals(contactId1, db.addContact(txn));
assertEquals(contactId1, db.addContact(txn, contactName));
assertTrue(db.containsContact(txn, contactId1));
assertFalse(db.containsContact(txn, contactId2));
assertEquals(contactId2, db.addContact(txn));
assertEquals(contactId2, db.addContact(txn, contactName));
assertTrue(db.containsContact(txn, contactId2));
// Delete the contact with the highest ID
db.removeContact(txn, contactId2);
assertFalse(db.containsContact(txn, contactId2));
// Add another contact - a new ID should be created
// Add another contact (same name again) - a new ID should be created
assertFalse(db.containsContact(txn, contactId3));
assertEquals(contactId3, db.addContact(txn));
assertEquals(contactId3, db.addContact(txn, contactName));
assertTrue(db.containsContact(txn, contactId3));
db.commitTransaction(txn);
@@ -209,7 +210,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact and store a private message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addPrivateMessage(txn, privateMessage, contactId);
// Removing the contact should remove the message
@@ -228,7 +229,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact and store a private message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addPrivateMessage(txn, privateMessage, contactId);
// The message has no status yet, so it should not be sendable
@@ -256,7 +257,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact and store a private message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addPrivateMessage(txn, privateMessage, contactId);
db.addStatus(txn, contactId, messageId1, false);
@@ -284,7 +285,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.addVisibility(txn, contactId, groupId);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
@@ -322,7 +323,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.addVisibility(txn, contactId, groupId);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
@@ -359,7 +360,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.addVisibility(txn, contactId, groupId);
db.addGroupMessage(txn, message);
@@ -396,7 +397,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.addVisibility(txn, contactId, groupId);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
@@ -427,7 +428,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
db.addGroupMessage(txn, message);
@@ -459,7 +460,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact and some messages to ack
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addMessageToAck(txn, contactId, messageId);
db.addMessageToAck(txn, contactId, messageId1);
@@ -484,7 +485,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact and receive the same message twice
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addMessageToAck(txn, contactId, messageId);
db.addMessageToAck(txn, contactId, messageId);
@@ -509,7 +510,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.addVisibility(txn, contactId, groupId);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
@@ -748,7 +749,7 @@ public class H2DatabaseTest extends BriarTestCase {
// Add a contact with a transport
TransportProperties p = new TransportProperties(
Collections.singletonMap("foo", "bar"));
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.setRemoteProperties(txn, contactId, transportId, p, 1);
assertEquals(Collections.singletonMap(contactId, p),
db.getRemoteProperties(txn, transportId));
@@ -838,7 +839,7 @@ public class H2DatabaseTest extends BriarTestCase {
// Initialise the transport properties with version 1
TransportProperties p = new TransportProperties(
Collections.singletonMap("foo", "bar"));
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.setRemoteProperties(txn, contactId, transportId, p, 1);
assertEquals(Collections.singletonMap(contactId, p),
db.getRemoteProperties(txn, transportId));
@@ -870,7 +871,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact and subscribe to a group
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
@@ -887,7 +888,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
db.addGroupMessage(txn, message);
@@ -910,7 +911,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
db.addGroupMessage(txn, message);
@@ -933,7 +934,7 @@ public class H2DatabaseTest extends BriarTestCase {
// Add a contact, subscribe to a group and store a message -
// the message is older than the contact's retention time
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.addVisibility(txn, contactId, groupId);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
@@ -957,7 +958,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.addVisibility(txn, contactId, groupId);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
@@ -982,7 +983,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact and subscribe to a group
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.addVisibility(txn, contactId, groupId);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
@@ -1001,7 +1002,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact with a subscription
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
// There's no local subscription for the group
@@ -1018,7 +1019,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.addGroupMessage(txn, message);
db.addStatus(txn, contactId, messageId, false);
@@ -1037,7 +1038,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.addGroupMessage(txn, message);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
@@ -1057,7 +1058,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.addVisibility(txn, contactId, groupId);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
@@ -1079,7 +1080,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact, subscribe to a group and store a message
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
db.addVisibility(txn, contactId, groupId);
db.setSubscriptions(txn, contactId, Arrays.asList(group), 1);
@@ -1100,7 +1101,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact and subscribe to a group
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
// The group should not be visible to the contact
assertEquals(Collections.emptyList(), db.getVisibility(txn, groupId));
@@ -1192,7 +1193,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact and subscribe to a group
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
// A message with a private parent should return null
@@ -1241,7 +1242,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add a contact and subscribe to a group
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addSubscription(txn, group);
// Store a couple of messages
@@ -1472,7 +1473,7 @@ public class H2DatabaseTest extends BriarTestCase {
// Subscribe to the groups and add a contact
for(Group g : groups) db.addSubscription(txn, g);
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
// Make the groups visible to the contact
Collections.shuffle(groups);
@@ -1528,7 +1529,7 @@ public class H2DatabaseTest extends BriarTestCase {
// Add the contact, the transport, the endpoint and the first two
// secrets (periods 0 and 1)
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addTransport(txn, transportId);
db.addEndpoint(txn, ep);
db.addSecrets(txn, Arrays.asList(s1, s2));
@@ -1622,7 +1623,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add the contact, the transport, the endpoint and the temporary secret
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addTransport(txn, transportId);
db.addEndpoint(txn, ep);
db.addSecrets(txn, Arrays.asList(s));
@@ -1678,7 +1679,7 @@ public class H2DatabaseTest extends BriarTestCase {
Connection txn = db.startTransaction();
// Add the contact, the transport, the endpoint and the temporary secret
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addTransport(txn, transportId);
db.addEndpoint(txn, ep);
db.addSecrets(txn, Arrays.asList(s));
@@ -1749,7 +1750,7 @@ public class H2DatabaseTest extends BriarTestCase {
assertEquals(Collections.emptyList(), db.getEndpoints(txn));
// Add the contact, the transports and the endpoints
assertEquals(contactId, db.addContact(txn));
assertEquals(contactId, db.addContact(txn, contactName));
db.addTransport(txn, transportId1);
db.addTransport(txn, transportId2);
db.addEndpoint(txn, ep1);

View File

@@ -104,7 +104,7 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase {
KeyManager km = alice.getInstance(KeyManager.class);
km.start();
// Add Bob as a contact
ContactId contactId = db.addContact();
ContactId contactId = db.addContact("Bob");
Endpoint ep = new Endpoint(contactId, transportId, epoch,
CLOCK_DIFFERENCE, LATENCY, true);
// Add the transport and the endpoint
@@ -151,7 +151,7 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase {
KeyManager km = bob.getInstance(KeyManager.class);
km.start();
// Add Alice as a contact
ContactId contactId = db.addContact();
ContactId contactId = db.addContact("Alice");
Endpoint ep = new Endpoint(contactId, transportId, epoch,
CLOCK_DIFFERENCE, LATENCY, false);
// Add the transport and the endpoint