diff --git a/briar-api/src/net/sf/briar/api/ContactId.java b/briar-api/src/net/sf/briar/api/ContactId.java index d8a9f7a38..7875f596d 100644 --- a/briar-api/src/net/sf/briar/api/ContactId.java +++ b/briar-api/src/net/sf/briar/api/ContactId.java @@ -16,14 +16,14 @@ public class ContactId { return id; } + @Override + public int hashCode() { + return id; + } + @Override public boolean equals(Object o) { if(o instanceof ContactId) return id == ((ContactId) o).id; return false; } - - @Override - public int hashCode() { - return id; - } } diff --git a/briar-api/src/net/sf/briar/api/protocol/Transport.java b/briar-api/src/net/sf/briar/api/protocol/Transport.java index 707d84fa7..4ac071160 100644 --- a/briar-api/src/net/sf/briar/api/protocol/Transport.java +++ b/briar-api/src/net/sf/briar/api/protocol/Transport.java @@ -3,37 +3,40 @@ package net.sf.briar.api.protocol; import java.util.Map; import java.util.TreeMap; -public class Transport extends TreeMap { - - private static final long serialVersionUID = 4900420175715429560L; +public class Transport { private final TransportId id; + private final TreeMap properties; public Transport(TransportId id, Map p) { - super(p); this.id = id; + properties = new TreeMap(p); } public Transport(TransportId id) { - super(); this.id = id; + properties = new TreeMap(); } public TransportId getId() { return id; } - @Override - public int hashCode() { - return id.hashCode(); + public Map getProperties() { + return properties; } @Override public boolean equals(Object o) { if(o instanceof Transport) { Transport t = (Transport) o; - return id.equals(t.id) && super.equals(o); + return id.equals(t.id) && properties.equals(t.properties); } return false; } + + @Override + public int hashCode() { + return id.hashCode(); + } } diff --git a/briar-core/src/net/sf/briar/db/JdbcDatabase.java b/briar-core/src/net/sf/briar/db/JdbcDatabase.java index 49a336cab..f44accc83 100644 --- a/briar-core/src/net/sf/briar/db/JdbcDatabase.java +++ b/briar-core/src/net/sf/briar/db/JdbcDatabase.java @@ -1207,7 +1207,7 @@ abstract class JdbcDatabase implements Database { t = new Transport(id); transports.add(t); } - t.put(rs.getString(2), rs.getString(3)); + t.getProperties().put(rs.getString(2), rs.getString(3)); lastId = id; } rs.close(); @@ -2763,7 +2763,7 @@ abstract class JdbcDatabase implements Database { int batchSize = 0; for(Transport t : transports) { ps.setBytes(2, t.getId().getBytes()); - for(Entry e1 : t.entrySet()) { + for(Entry e1 : t.getProperties().entrySet()) { ps.setString(3, e1.getKey()); ps.setString(4, e1.getValue()); ps.addBatch(); diff --git a/briar-core/src/net/sf/briar/protocol/GroupImpl.java b/briar-core/src/net/sf/briar/protocol/GroupImpl.java index 88f63622d..d3a84ba5a 100644 --- a/briar-core/src/net/sf/briar/protocol/GroupImpl.java +++ b/briar-core/src/net/sf/briar/protocol/GroupImpl.java @@ -27,13 +27,13 @@ class GroupImpl implements Group { return publicKey; } - @Override - public boolean equals(Object o) { - return o instanceof Group && id.equals(((Group) o).getId()); - } - @Override public int hashCode() { return id.hashCode(); } + + @Override + public boolean equals(Object o) { + return o instanceof Group && id.equals(((Group) o).getId()); + } } diff --git a/briar-core/src/net/sf/briar/protocol/MessageImpl.java b/briar-core/src/net/sf/briar/protocol/MessageImpl.java index 505f9e621..3b6c739c2 100644 --- a/briar-core/src/net/sf/briar/protocol/MessageImpl.java +++ b/briar-core/src/net/sf/briar/protocol/MessageImpl.java @@ -71,13 +71,13 @@ class MessageImpl implements Message { return bodyLength; } - @Override - public boolean equals(Object o) { - return o instanceof Message && id.equals(((Message) o).getId()); - } - @Override public int hashCode() { return id.hashCode(); } + + @Override + public boolean equals(Object o) { + return o instanceof Message && id.equals(((Message) o).getId()); + } } diff --git a/briar-core/src/net/sf/briar/protocol/ProtocolWriterImpl.java b/briar-core/src/net/sf/briar/protocol/ProtocolWriterImpl.java index d7bebf4e2..fd100d561 100644 --- a/briar-core/src/net/sf/briar/protocol/ProtocolWriterImpl.java +++ b/briar-core/src/net/sf/briar/protocol/ProtocolWriterImpl.java @@ -148,7 +148,7 @@ class ProtocolWriterImpl implements ProtocolWriter { for(Transport p : t.getTransports()) { w.writeStructId(Types.TRANSPORT); w.writeBytes(p.getId().getBytes()); - w.writeMap(p); + w.writeMap(p.getProperties()); } w.writeListEnd(); w.writeInt64(t.getTimestamp()); diff --git a/briar-tests/src/net/sf/briar/db/TestMessage.java b/briar-tests/src/net/sf/briar/db/TestMessage.java index 4dbe7584a..bf25200e0 100644 --- a/briar-tests/src/net/sf/briar/db/TestMessage.java +++ b/briar-tests/src/net/sf/briar/db/TestMessage.java @@ -77,13 +77,13 @@ class TestMessage implements Message { return new ByteArrayInputStream(raw); } - @Override - public boolean equals(Object o) { - return o instanceof Message && id.equals(((Message)o).getId()); - } - @Override public int hashCode() { return id.hashCode(); } + + @Override + public boolean equals(Object o) { + return o instanceof Message && id.equals(((Message)o).getId()); + } } diff --git a/briar-tests/src/net/sf/briar/protocol/ConstantsTest.java b/briar-tests/src/net/sf/briar/protocol/ConstantsTest.java index e4c6af3a1..5a438af49 100644 --- a/briar-tests/src/net/sf/briar/protocol/ConstantsTest.java +++ b/briar-tests/src/net/sf/briar/protocol/ConstantsTest.java @@ -15,6 +15,7 @@ import java.security.PrivateKey; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.Map; import net.sf.briar.BriarTestCase; import net.sf.briar.TestUtils; @@ -158,10 +159,11 @@ public class ConstantsTest extends BriarTestCase { for(int i = 0; i < MAX_TRANSPORTS; i++) { TransportId id = new TransportId(TestUtils.getRandomId()); Transport t = new Transport(id); + Map m = t.getProperties(); for(int j = 0; j < MAX_PROPERTIES_PER_TRANSPORT; j++) { String key = createRandomString(MAX_PROPERTY_LENGTH); String value = createRandomString(MAX_PROPERTY_LENGTH); - t.put(key, value); + m.put(key, value); } transports.add(t); }