From e370cafb1288a8a1ad27e3d7ac8372ed070c6a46 Mon Sep 17 00:00:00 2001 From: akwizgran <akwizgran@users.sourceforge.net> Date: Tue, 15 Dec 2015 14:36:45 +0000 Subject: [PATCH] Moved classes from messaging package to sync package. --- .../AndroidNotificationManagerImpl.java | 2 +- .../briarproject/android/BriarService.java | 2 +- .../android/contact/ContactListActivity.java | 70 +++---- .../android/contact/ContactListItem.java | 6 +- .../android/contact/ConversationActivity.java | 98 ++++----- .../contact/ReadPrivateMessageActivity.java | 52 ++--- .../contact/WritePrivateMessageActivity.java | 70 +++---- .../forum/AvailableForumsActivity.java | 4 +- .../android/forum/AvailableForumsItem.java | 2 +- .../android/forum/CreateForumActivity.java | 6 +- .../android/forum/ForumActivity.java | 6 +- .../android/forum/ForumContacts.java | 2 +- .../android/forum/ForumListActivity.java | 4 +- .../android/forum/ForumListItem.java | 2 +- .../android/forum/ReadForumPostActivity.java | 4 +- .../android/forum/ShareForumActivity.java | 2 +- .../android/forum/WriteForumPostActivity.java | 10 +- .../android/AndroidNotificationManager.java | 2 +- .../api/db/DatabaseComponent.java | 26 +-- .../briarproject/api/db/MessageHeader.java | 6 +- .../api/event/MessageAddedEvent.java | 2 +- .../api/event/MessagesAckedEvent.java | 6 +- .../api/event/MessagesSentEvent.java | 6 +- .../api/event/SubscriptionAddedEvent.java | 2 +- .../api/event/SubscriptionRemovedEvent.java | 2 +- .../api/messaging/PacketWriter.java | 34 ---- .../briarproject/api/messaging/Request.java | 18 -- .../api/{messaging => sync}/Ack.java | 2 +- .../api/{messaging => sync}/Group.java | 9 +- .../api/{messaging => sync}/GroupFactory.java | 2 +- .../api/{messaging => sync}/GroupId.java | 6 +- .../api/{messaging => sync}/Message.java | 2 +- .../{messaging => sync}/MessageFactory.java | 12 +- .../api/{messaging => sync}/MessageId.java | 6 +- .../{messaging => sync}/MessageVerifier.java | 2 +- .../MessagingConstants.java | 2 +- .../{messaging => sync}/MessagingSession.java | 2 +- .../MessagingSessionFactory.java | 8 +- .../api/{messaging => sync}/Offer.java | 4 +- .../api/{messaging => sync}/PacketReader.java | 12 +- .../PacketReaderFactory.java | 2 +- .../api/{messaging => sync}/PacketTypes.java | 2 +- .../briarproject/api/sync/PacketWriter.java | 34 ++++ .../PacketWriterFactory.java | 2 +- .../org/briarproject/api/sync/Request.java | 18 ++ .../api/{messaging => sync}/RetentionAck.java | 2 +- .../{messaging => sync}/RetentionUpdate.java | 2 +- .../{messaging => sync}/SubscriptionAck.java | 2 +- .../SubscriptionUpdate.java | 2 +- .../api/{messaging => sync}/TransportAck.java | 2 +- .../{messaging => sync}/TransportUpdate.java | 2 +- .../UnverifiedMessage.java | 10 +- .../src/org/briarproject/db/Database.java | 20 +- .../db/DatabaseComponentImpl.java | 26 +-- .../src/org/briarproject/db/JdbcDatabase.java | 28 ++- .../invitation/AliceConnector.java | 2 +- .../briarproject/invitation/BobConnector.java | 2 +- .../briarproject/invitation/Connector.java | 4 +- .../invitation/ConnectorGroup.java | 2 +- .../invitation/InvitationTaskFactoryImpl.java | 6 +- .../messaging/ThrowingRunnable.java | 6 - .../plugins/ConnectionManagerImpl.java | 28 +-- .../AuthorFactoryImpl.java | 12 +- .../{messaging => sync}/AuthorReader.java | 12 +- .../{messaging => sync}/CopyingConsumer.java | 6 +- .../{messaging => sync}/CountingConsumer.java | 6 +- .../DigestingConsumer.java | 2 +- .../DuplexOutgoingSession.java | 50 ++--- .../{messaging => sync}/GroupFactoryImpl.java | 18 +- .../{messaging => sync}/GroupReader.java | 16 +- .../{messaging => sync}/IncomingSession.java | 46 ++--- .../MessageFactoryImpl.java | 40 ++-- .../{messaging => sync}/MessageImpl.java | 12 +- .../{messaging => sync}/MessageReader.java | 24 +-- .../MessageVerifierImpl.java | 26 +-- .../{messaging => sync}/MessagingModule.java | 28 +-- .../MessagingSessionFactoryImpl.java | 28 +-- .../PacketReaderFactoryImpl.java | 16 +- .../{messaging => sync}/PacketReaderImpl.java | 76 +++---- .../PacketWriterFactoryImpl.java | 10 +- .../{messaging => sync}/PacketWriterImpl.java | 64 +++--- .../{messaging => sync}/SigningConsumer.java | 2 +- .../SimplexOutgoingSession.java | 46 ++--- .../SubscriptionUpdateReader.java | 20 +- .../briarproject/sync/ThrowingRunnable.java | 6 + .../briarproject/ProtocolIntegrationTest.java | 34 ++-- .../src/org/briarproject/TestMessage.java | 6 +- .../db/DatabaseComponentTest.java | 192 +++++++++++++----- .../org/briarproject/db/H2DatabaseTest.java | 10 +- .../{messaging => sync}/ConstantsTest.java | 38 ++-- .../{messaging => sync}/ConsumersTest.java | 15 +- .../PacketReaderImplTest.java | 63 ++++-- .../SimplexMessagingIntegrationTest.java | 30 +-- .../SimplexOutgoingSessionTest.java | 17 +- 94 files changed, 897 insertions(+), 793 deletions(-) delete mode 100644 briar-api/src/org/briarproject/api/messaging/PacketWriter.java delete mode 100644 briar-api/src/org/briarproject/api/messaging/Request.java rename briar-api/src/org/briarproject/api/{messaging => sync}/Ack.java (90%) rename briar-api/src/org/briarproject/api/{messaging => sync}/Group.java (77%) rename briar-api/src/org/briarproject/api/{messaging => sync}/GroupFactory.java (85%) rename briar-api/src/org/briarproject/api/{messaging => sync}/GroupId.java (90%) rename briar-api/src/org/briarproject/api/{messaging => sync}/Message.java (96%) rename briar-api/src/org/briarproject/api/{messaging => sync}/MessageFactory.java (67%) rename briar-api/src/org/briarproject/api/{messaging => sync}/MessageId.java (90%) rename briar-api/src/org/briarproject/api/{messaging => sync}/MessageVerifier.java (85%) rename briar-api/src/org/briarproject/api/{messaging => sync}/MessagingConstants.java (97%) rename briar-api/src/org/briarproject/api/{messaging => sync}/MessagingSession.java (90%) rename briar-api/src/org/briarproject/api/{messaging => sync}/MessagingSessionFactory.java (92%) rename briar-api/src/org/briarproject/api/{messaging => sync}/Offer.java (74%) rename briar-api/src/org/briarproject/api/{messaging => sync}/PacketReader.java (63%) rename briar-api/src/org/briarproject/api/{messaging => sync}/PacketReaderFactory.java (75%) rename briar-api/src/org/briarproject/api/{messaging => sync}/PacketTypes.java (88%) create mode 100644 briar-api/src/org/briarproject/api/sync/PacketWriter.java rename briar-api/src/org/briarproject/api/{messaging => sync}/PacketWriterFactory.java (75%) create mode 100644 briar-api/src/org/briarproject/api/sync/Request.java rename briar-api/src/org/briarproject/api/{messaging => sync}/RetentionAck.java (88%) rename briar-api/src/org/briarproject/api/{messaging => sync}/RetentionUpdate.java (90%) rename briar-api/src/org/briarproject/api/{messaging => sync}/SubscriptionAck.java (88%) rename briar-api/src/org/briarproject/api/{messaging => sync}/SubscriptionUpdate.java (93%) rename briar-api/src/org/briarproject/api/{messaging => sync}/TransportAck.java (92%) rename briar-api/src/org/briarproject/api/{messaging => sync}/TransportUpdate.java (95%) rename briar-api/src/org/briarproject/api/{messaging => sync}/UnverifiedMessage.java (85%) delete mode 100644 briar-core/src/org/briarproject/messaging/ThrowingRunnable.java rename briar-core/src/org/briarproject/{messaging => sync}/AuthorFactoryImpl.java (97%) rename briar-core/src/org/briarproject/{messaging => sync}/AuthorReader.java (97%) rename briar-core/src/org/briarproject/{messaging => sync}/CopyingConsumer.java (93%) rename briar-core/src/org/briarproject/{messaging => sync}/CountingConsumer.java (95%) rename briar-core/src/org/briarproject/{messaging => sync}/DigestingConsumer.java (93%) rename briar-core/src/org/briarproject/{messaging => sync}/DuplexOutgoingSession.java (95%) rename briar-core/src/org/briarproject/{messaging => sync}/GroupFactoryImpl.java (83%) rename briar-core/src/org/briarproject/{messaging => sync}/GroupReader.java (77%) rename briar-core/src/org/briarproject/{messaging => sync}/IncomingSession.java (90%) rename briar-core/src/org/briarproject/{messaging => sync}/MessageFactoryImpl.java (85%) rename briar-core/src/org/briarproject/{messaging => sync}/MessageImpl.java (85%) rename briar-core/src/org/briarproject/{messaging => sync}/MessageReader.java (82%) rename briar-core/src/org/briarproject/{messaging => sync}/MessageVerifierImpl.java (90%) rename briar-core/src/org/briarproject/{messaging => sync}/MessagingModule.java (70%) rename briar-core/src/org/briarproject/{messaging => sync}/MessagingSessionFactoryImpl.java (84%) rename briar-core/src/org/briarproject/{messaging => sync}/PacketReaderFactoryImpl.java (76%) rename briar-core/src/org/briarproject/{messaging => sync}/PacketReaderImpl.java (87%) rename briar-core/src/org/briarproject/{messaging => sync}/PacketWriterFactoryImpl.java (75%) rename briar-core/src/org/briarproject/{messaging => sync}/PacketWriterImpl.java (75%) rename briar-core/src/org/briarproject/{messaging => sync}/SigningConsumer.java (92%) rename briar-core/src/org/briarproject/{messaging => sync}/SimplexOutgoingSession.java (94%) rename briar-core/src/org/briarproject/{messaging => sync}/SubscriptionUpdateReader.java (81%) create mode 100644 briar-core/src/org/briarproject/sync/ThrowingRunnable.java rename briar-tests/src/org/briarproject/{messaging => sync}/ConstantsTest.java (88%) rename briar-tests/src/org/briarproject/{messaging => sync}/ConsumersTest.java (86%) rename briar-tests/src/org/briarproject/{messaging => sync}/PacketReaderImplTest.java (78%) rename briar-tests/src/org/briarproject/{messaging => sync}/SimplexMessagingIntegrationTest.java (91%) rename briar-tests/src/org/briarproject/{messaging => sync}/SimplexOutgoingSessionTest.java (90%) diff --git a/briar-android/src/org/briarproject/android/AndroidNotificationManagerImpl.java b/briar-android/src/org/briarproject/android/AndroidNotificationManagerImpl.java index f5ba0b03dd..2fbc137192 100644 --- a/briar-android/src/org/briarproject/android/AndroidNotificationManagerImpl.java +++ b/briar-android/src/org/briarproject/android/AndroidNotificationManagerImpl.java @@ -23,7 +23,7 @@ import org.briarproject.api.event.Event; import org.briarproject.api.event.EventBus; import org.briarproject.api.event.EventListener; import org.briarproject.api.event.SettingsUpdatedEvent; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.GroupId; import org.briarproject.util.StringUtils; import java.util.HashMap; diff --git a/briar-android/src/org/briarproject/android/BriarService.java b/briar-android/src/org/briarproject/android/BriarService.java index 11e8dcebaa..35db05931a 100644 --- a/briar-android/src/org/briarproject/android/BriarService.java +++ b/briar-android/src/org/briarproject/android/BriarService.java @@ -23,7 +23,7 @@ import org.briarproject.api.event.EventListener; import org.briarproject.api.event.MessageAddedEvent; import org.briarproject.api.lifecycle.LifecycleManager; import org.briarproject.api.lifecycle.LifecycleManager.StartResult; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.GroupId; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Executor; diff --git a/briar-android/src/org/briarproject/android/contact/ContactListActivity.java b/briar-android/src/org/briarproject/android/contact/ContactListActivity.java index 630c4dec99..094de1133c 100644 --- a/briar-android/src/org/briarproject/android/contact/ContactListActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ContactListActivity.java @@ -1,22 +1,22 @@ package org.briarproject.android.contact; -import static android.view.Gravity.CENTER; -import static android.view.Gravity.CENTER_HORIZONTAL; -import static android.view.Menu.NONE; -import static android.view.View.GONE; -import static android.view.View.VISIBLE; -import static android.widget.LinearLayout.VERTICAL; -import static android.widget.Toast.LENGTH_SHORT; -import static java.util.logging.Level.INFO; -import static java.util.logging.Level.WARNING; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_MATCH; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP_1; - -import java.util.Collection; -import java.util.logging.Logger; - -import javax.inject.Inject; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.view.ContextMenu; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.MenuItem; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.View.OnCreateContextMenuListener; +import android.widget.AdapterView; +import android.widget.AdapterView.AdapterContextMenuInfo; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; import org.briarproject.R; import org.briarproject.android.BriarActivity; @@ -39,26 +39,26 @@ import org.briarproject.api.event.EventBus; import org.briarproject.api.event.EventListener; import org.briarproject.api.event.MessageAddedEvent; import org.briarproject.api.event.MessageExpiredEvent; -import org.briarproject.api.messaging.GroupId; import org.briarproject.api.plugins.ConnectionRegistry; +import org.briarproject.api.sync.GroupId; -import android.content.Intent; -import android.content.res.Resources; -import android.os.Bundle; -import android.view.ContextMenu; -import android.view.ContextMenu.ContextMenuInfo; -import android.view.MenuItem; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.View.OnCreateContextMenuListener; -import android.widget.AdapterView; -import android.widget.AdapterView.AdapterContextMenuInfo; -import android.widget.AdapterView.OnItemClickListener; -import android.widget.ImageButton; -import android.widget.LinearLayout; -import android.widget.ListView; -import android.widget.TextView; -import android.widget.Toast; +import java.util.Collection; +import java.util.logging.Logger; + +import javax.inject.Inject; + +import static android.view.Gravity.CENTER; +import static android.view.Gravity.CENTER_HORIZONTAL; +import static android.view.Menu.NONE; +import static android.view.View.GONE; +import static android.view.View.VISIBLE; +import static android.widget.LinearLayout.VERTICAL; +import static android.widget.Toast.LENGTH_SHORT; +import static java.util.logging.Level.INFO; +import static java.util.logging.Level.WARNING; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_MATCH; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP_1; public class ContactListActivity extends BriarActivity implements OnClickListener, OnItemClickListener, OnCreateContextMenuListener, diff --git a/briar-android/src/org/briarproject/android/contact/ContactListItem.java b/briar-android/src/org/briarproject/android/contact/ContactListItem.java index 276ae9178f..19cec75cc0 100644 --- a/briar-android/src/org/briarproject/android/contact/ContactListItem.java +++ b/briar-android/src/org/briarproject/android/contact/ContactListItem.java @@ -1,10 +1,10 @@ package org.briarproject.android.contact; -import java.util.Collection; - import org.briarproject.api.Contact; import org.briarproject.api.db.MessageHeader; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.GroupId; + +import java.util.Collection; // This class is not thread-safe class ContactListItem { diff --git a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java index 828ef3b9fb..76cc95310d 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java @@ -1,35 +1,19 @@ package org.briarproject.android.contact; -import static android.text.InputType.TYPE_CLASS_TEXT; -import static android.text.InputType.TYPE_TEXT_FLAG_CAP_SENTENCES; -import static android.view.Gravity.CENTER; -import static android.view.Gravity.CENTER_VERTICAL; -import static android.view.View.GONE; -import static android.view.View.VISIBLE; -import static android.widget.LinearLayout.HORIZONTAL; -import static android.widget.LinearLayout.VERTICAL; -import static java.util.logging.Level.INFO; -import static java.util.logging.Level.WARNING; -import static org.briarproject.android.contact.ReadPrivateMessageActivity.RESULT_PREV_NEXT; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_MATCH; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP_1; -import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP_1; - -import java.io.IOException; -import java.security.GeneralSecurityException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.Executor; -import java.util.logging.Logger; - -import javax.inject.Inject; +import android.content.Intent; +import android.content.res.Resources; +import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; +import android.text.InputType; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.EditText; +import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; import org.briarproject.R; import org.briarproject.android.BriarActivity; @@ -56,27 +40,43 @@ import org.briarproject.api.event.MessageAddedEvent; import org.briarproject.api.event.MessageExpiredEvent; import org.briarproject.api.event.MessagesAckedEvent; import org.briarproject.api.event.MessagesSentEvent; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; -import android.content.Intent; -import android.content.res.Resources; -import android.graphics.drawable.ColorDrawable; -import android.os.Bundle; -import android.text.InputType; -import android.view.View; -import android.view.View.OnClickListener; -import android.widget.AdapterView; -import android.widget.AdapterView.OnItemClickListener; -import android.widget.EditText; -import android.widget.ImageButton; -import android.widget.LinearLayout; -import android.widget.ListView; -import android.widget.TextView; +import java.io.IOException; +import java.security.GeneralSecurityException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.Executor; +import java.util.logging.Logger; + +import javax.inject.Inject; + +import static android.text.InputType.TYPE_CLASS_TEXT; +import static android.text.InputType.TYPE_TEXT_FLAG_CAP_SENTENCES; +import static android.view.Gravity.CENTER; +import static android.view.Gravity.CENTER_VERTICAL; +import static android.view.View.GONE; +import static android.view.View.VISIBLE; +import static android.widget.LinearLayout.HORIZONTAL; +import static android.widget.LinearLayout.VERTICAL; +import static java.util.logging.Level.INFO; +import static java.util.logging.Level.WARNING; +import static org.briarproject.android.contact.ReadPrivateMessageActivity.RESULT_PREV_NEXT; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_MATCH; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP_1; +import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP_1; public class ConversationActivity extends BriarActivity implements EventListener, OnClickListener, OnItemClickListener { diff --git a/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java b/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java index abbbb5fe90..c95324b793 100644 --- a/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java @@ -1,19 +1,15 @@ package org.briarproject.android.contact; -import static android.view.Gravity.CENTER; -import static android.view.Gravity.CENTER_VERTICAL; -import static android.widget.LinearLayout.HORIZONTAL; -import static android.widget.LinearLayout.VERTICAL; -import static java.util.logging.Level.INFO; -import static java.util.logging.Level.WARNING; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP_1; -import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP_1; -import static org.briarproject.api.Author.Status.VERIFIED; - -import java.util.logging.Logger; - -import javax.inject.Inject; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.text.format.DateUtils; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; import org.briarproject.R; import org.briarproject.android.BriarActivity; @@ -25,20 +21,24 @@ import org.briarproject.api.AuthorId; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; import org.briarproject.api.db.NoSuchMessageException; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; -import android.content.Intent; -import android.content.res.Resources; -import android.os.Bundle; -import android.text.format.DateUtils; -import android.view.View; -import android.view.View.OnClickListener; -import android.widget.ImageButton; -import android.widget.LinearLayout; -import android.widget.ScrollView; -import android.widget.TextView; +import java.util.logging.Logger; + +import javax.inject.Inject; + +import static android.view.Gravity.CENTER; +import static android.view.Gravity.CENTER_VERTICAL; +import static android.widget.LinearLayout.HORIZONTAL; +import static android.widget.LinearLayout.VERTICAL; +import static java.util.logging.Level.INFO; +import static java.util.logging.Level.WARNING; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP_1; +import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP_1; +import static org.briarproject.api.Author.Status.VERIFIED; public class ReadPrivateMessageActivity extends BriarActivity implements OnClickListener { diff --git a/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java b/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java index b173983499..481f72fe69 100644 --- a/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java +++ b/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java @@ -1,24 +1,16 @@ package org.briarproject.android.contact; -import static android.text.InputType.TYPE_CLASS_TEXT; -import static android.text.InputType.TYPE_TEXT_FLAG_CAP_SENTENCES; -import static android.text.TextUtils.TruncateAt.END; -import static android.widget.LinearLayout.VERTICAL; -import static android.widget.RelativeLayout.ALIGN_PARENT_LEFT; -import static android.widget.RelativeLayout.ALIGN_PARENT_RIGHT; -import static android.widget.RelativeLayout.CENTER_VERTICAL; -import static android.widget.RelativeLayout.LEFT_OF; -import static android.widget.Toast.LENGTH_LONG; -import static java.util.logging.Level.INFO; -import static java.util.logging.Level.WARNING; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; - -import java.io.IOException; -import java.security.GeneralSecurityException; -import java.util.concurrent.Executor; -import java.util.logging.Logger; - -import javax.inject.Inject; +import android.content.Intent; +import android.os.Bundle; +import android.text.InputType; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.TextView; +import android.widget.Toast; import org.briarproject.R; import org.briarproject.android.BriarActivity; @@ -31,24 +23,32 @@ import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; import org.briarproject.api.db.NoSuchContactException; import org.briarproject.api.db.NoSuchSubscriptionException; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; -import android.content.Intent; -import android.os.Bundle; -import android.text.InputType; -import android.view.View; -import android.view.View.OnClickListener; -import android.widget.EditText; -import android.widget.ImageButton; -import android.widget.LinearLayout; -import android.widget.RelativeLayout; -import android.widget.TextView; -import android.widget.Toast; +import java.io.IOException; +import java.security.GeneralSecurityException; +import java.util.concurrent.Executor; +import java.util.logging.Logger; + +import javax.inject.Inject; + +import static android.text.InputType.TYPE_CLASS_TEXT; +import static android.text.InputType.TYPE_TEXT_FLAG_CAP_SENTENCES; +import static android.text.TextUtils.TruncateAt.END; +import static android.widget.LinearLayout.VERTICAL; +import static android.widget.RelativeLayout.ALIGN_PARENT_LEFT; +import static android.widget.RelativeLayout.ALIGN_PARENT_RIGHT; +import static android.widget.RelativeLayout.CENTER_VERTICAL; +import static android.widget.RelativeLayout.LEFT_OF; +import static android.widget.Toast.LENGTH_LONG; +import static java.util.logging.Level.INFO; +import static java.util.logging.Level.WARNING; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; public class WritePrivateMessageActivity extends BriarActivity implements OnClickListener { diff --git a/briar-android/src/org/briarproject/android/forum/AvailableForumsActivity.java b/briar-android/src/org/briarproject/android/forum/AvailableForumsActivity.java index 1c9cb66899..8c3e1c8bf6 100644 --- a/briar-android/src/org/briarproject/android/forum/AvailableForumsActivity.java +++ b/briar-android/src/org/briarproject/android/forum/AvailableForumsActivity.java @@ -21,8 +21,8 @@ import org.briarproject.api.event.EventListener; import org.briarproject.api.event.RemoteSubscriptionsUpdatedEvent; import org.briarproject.api.event.SubscriptionAddedEvent; import org.briarproject.api.event.SubscriptionRemovedEvent; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; import java.util.ArrayList; import java.util.Collection; diff --git a/briar-android/src/org/briarproject/android/forum/AvailableForumsItem.java b/briar-android/src/org/briarproject/android/forum/AvailableForumsItem.java index 1c46e66b5f..c5e62e75ce 100644 --- a/briar-android/src/org/briarproject/android/forum/AvailableForumsItem.java +++ b/briar-android/src/org/briarproject/android/forum/AvailableForumsItem.java @@ -1,7 +1,7 @@ package org.briarproject.android.forum; import org.briarproject.api.Contact; -import org.briarproject.api.messaging.Group; +import org.briarproject.api.sync.Group; import java.util.Collection; diff --git a/briar-android/src/org/briarproject/android/forum/CreateForumActivity.java b/briar-android/src/org/briarproject/android/forum/CreateForumActivity.java index c005104e68..d422684bb6 100644 --- a/briar-android/src/org/briarproject/android/forum/CreateForumActivity.java +++ b/briar-android/src/org/briarproject/android/forum/CreateForumActivity.java @@ -18,8 +18,8 @@ import org.briarproject.android.BriarActivity; import org.briarproject.android.util.LayoutUtils; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; import org.briarproject.util.StringUtils; import java.util.logging.Logger; @@ -38,7 +38,7 @@ import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static org.briarproject.android.util.CommonLayoutParams.MATCH_MATCH; import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP; -import static org.briarproject.api.messaging.MessagingConstants.MAX_GROUP_NAME_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_GROUP_NAME_LENGTH; public class CreateForumActivity extends BriarActivity implements OnEditorActionListener, OnClickListener { diff --git a/briar-android/src/org/briarproject/android/forum/ForumActivity.java b/briar-android/src/org/briarproject/android/forum/ForumActivity.java index 8786ec401f..e17719ece3 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumActivity.java +++ b/briar-android/src/org/briarproject/android/forum/ForumActivity.java @@ -30,9 +30,9 @@ import org.briarproject.api.event.EventListener; import org.briarproject.api.event.MessageAddedEvent; import org.briarproject.api.event.MessageExpiredEvent; import org.briarproject.api.event.SubscriptionRemovedEvent; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.MessageId; import java.util.ArrayList; import java.util.Collection; diff --git a/briar-android/src/org/briarproject/android/forum/ForumContacts.java b/briar-android/src/org/briarproject/android/forum/ForumContacts.java index daa01d7efe..f75c439455 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumContacts.java +++ b/briar-android/src/org/briarproject/android/forum/ForumContacts.java @@ -1,7 +1,7 @@ package org.briarproject.android.forum; import org.briarproject.api.Contact; -import org.briarproject.api.messaging.Group; +import org.briarproject.api.sync.Group; import java.util.Collection; diff --git a/briar-android/src/org/briarproject/android/forum/ForumListActivity.java b/briar-android/src/org/briarproject/android/forum/ForumListActivity.java index ee1c75584f..1b061f44ab 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumListActivity.java +++ b/briar-android/src/org/briarproject/android/forum/ForumListActivity.java @@ -35,8 +35,8 @@ import org.briarproject.api.event.MessageExpiredEvent; import org.briarproject.api.event.RemoteSubscriptionsUpdatedEvent; import org.briarproject.api.event.SubscriptionAddedEvent; import org.briarproject.api.event.SubscriptionRemovedEvent; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; import java.util.Collection; import java.util.Map; diff --git a/briar-android/src/org/briarproject/android/forum/ForumListItem.java b/briar-android/src/org/briarproject/android/forum/ForumListItem.java index c20b91603f..a41ae98f3a 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumListItem.java +++ b/briar-android/src/org/briarproject/android/forum/ForumListItem.java @@ -1,7 +1,7 @@ package org.briarproject.android.forum; import org.briarproject.api.db.MessageHeader; -import org.briarproject.api.messaging.Group; +import org.briarproject.api.sync.Group; import java.util.Collection; diff --git a/briar-android/src/org/briarproject/android/forum/ReadForumPostActivity.java b/briar-android/src/org/briarproject/android/forum/ReadForumPostActivity.java index 0318ecb24a..dba39cca75 100644 --- a/briar-android/src/org/briarproject/android/forum/ReadForumPostActivity.java +++ b/briar-android/src/org/briarproject/android/forum/ReadForumPostActivity.java @@ -21,8 +21,8 @@ import org.briarproject.api.Author; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; import org.briarproject.api.db.NoSuchMessageException; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; import java.util.logging.Logger; diff --git a/briar-android/src/org/briarproject/android/forum/ShareForumActivity.java b/briar-android/src/org/briarproject/android/forum/ShareForumActivity.java index 3f736c096b..a3f771edc8 100644 --- a/briar-android/src/org/briarproject/android/forum/ShareForumActivity.java +++ b/briar-android/src/org/briarproject/android/forum/ShareForumActivity.java @@ -19,7 +19,7 @@ import org.briarproject.api.Contact; import org.briarproject.api.ContactId; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.GroupId; import java.util.Collection; import java.util.Collections; diff --git a/briar-android/src/org/briarproject/android/forum/WriteForumPostActivity.java b/briar-android/src/org/briarproject/android/forum/WriteForumPostActivity.java index 6ae49b1faf..4b8297a817 100644 --- a/briar-android/src/org/briarproject/android/forum/WriteForumPostActivity.java +++ b/briar-android/src/org/briarproject/android/forum/WriteForumPostActivity.java @@ -31,11 +31,11 @@ import org.briarproject.api.crypto.KeyParser; import org.briarproject.api.crypto.PrivateKey; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; import java.io.IOException; diff --git a/briar-api/src/org/briarproject/api/android/AndroidNotificationManager.java b/briar-api/src/org/briarproject/api/android/AndroidNotificationManager.java index a824b1ca5d..9c39fd75da 100644 --- a/briar-api/src/org/briarproject/api/android/AndroidNotificationManager.java +++ b/briar-api/src/org/briarproject/api/android/AndroidNotificationManager.java @@ -2,7 +2,7 @@ package org.briarproject.api.android; import org.briarproject.api.ContactId; import org.briarproject.api.lifecycle.Service; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.GroupId; /** * Manages notifications for private messages and group posts. All methods must diff --git a/briar-api/src/org/briarproject/api/db/DatabaseComponent.java b/briar-api/src/org/briarproject/api/db/DatabaseComponent.java index 530cffbb20..c76a155d92 100644 --- a/briar-api/src/org/briarproject/api/db/DatabaseComponent.java +++ b/briar-api/src/org/briarproject/api/db/DatabaseComponent.java @@ -9,19 +9,19 @@ import org.briarproject.api.Settings; import org.briarproject.api.TransportConfig; import org.briarproject.api.TransportId; import org.briarproject.api.TransportProperties; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.api.transport.TransportKeys; import java.io.IOException; diff --git a/briar-api/src/org/briarproject/api/db/MessageHeader.java b/briar-api/src/org/briarproject/api/db/MessageHeader.java index c500971eb1..7ba4eaaf1c 100644 --- a/briar-api/src/org/briarproject/api/db/MessageHeader.java +++ b/briar-api/src/org/briarproject/api/db/MessageHeader.java @@ -1,12 +1,12 @@ package org.briarproject.api.db; import org.briarproject.api.Author; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.MessageId; public class MessageHeader { - public enum State { STORED, SENT, DELIVERED }; + public enum State { STORED, SENT, DELIVERED } private final MessageId id, parent; private final GroupId groupId; diff --git a/briar-api/src/org/briarproject/api/event/MessageAddedEvent.java b/briar-api/src/org/briarproject/api/event/MessageAddedEvent.java index 333293f223..8c6664d1c4 100644 --- a/briar-api/src/org/briarproject/api/event/MessageAddedEvent.java +++ b/briar-api/src/org/briarproject/api/event/MessageAddedEvent.java @@ -1,7 +1,7 @@ package org.briarproject.api.event; import org.briarproject.api.ContactId; -import org.briarproject.api.messaging.Group; +import org.briarproject.api.sync.Group; /** An event that is broadcast when a message is added to the database. */ public class MessageAddedEvent extends Event { diff --git a/briar-api/src/org/briarproject/api/event/MessagesAckedEvent.java b/briar-api/src/org/briarproject/api/event/MessagesAckedEvent.java index cb76764559..ab99b37b00 100644 --- a/briar-api/src/org/briarproject/api/event/MessagesAckedEvent.java +++ b/briar-api/src/org/briarproject/api/event/MessagesAckedEvent.java @@ -1,9 +1,9 @@ package org.briarproject.api.event; -import java.util.Collection; - import org.briarproject.api.ContactId; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.MessageId; + +import java.util.Collection; /** An event that is broadcast when messages are acked by a contact. */ public class MessagesAckedEvent extends Event { diff --git a/briar-api/src/org/briarproject/api/event/MessagesSentEvent.java b/briar-api/src/org/briarproject/api/event/MessagesSentEvent.java index a70b7a872d..0c9f700e6f 100644 --- a/briar-api/src/org/briarproject/api/event/MessagesSentEvent.java +++ b/briar-api/src/org/briarproject/api/event/MessagesSentEvent.java @@ -1,9 +1,9 @@ package org.briarproject.api.event; -import java.util.Collection; - import org.briarproject.api.ContactId; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.MessageId; + +import java.util.Collection; /** An event that is broadcast when messages are sent to a contact. */ public class MessagesSentEvent extends Event { diff --git a/briar-api/src/org/briarproject/api/event/SubscriptionAddedEvent.java b/briar-api/src/org/briarproject/api/event/SubscriptionAddedEvent.java index c59e9cd3d6..a9065b28b2 100644 --- a/briar-api/src/org/briarproject/api/event/SubscriptionAddedEvent.java +++ b/briar-api/src/org/briarproject/api/event/SubscriptionAddedEvent.java @@ -1,6 +1,6 @@ package org.briarproject.api.event; -import org.briarproject.api.messaging.Group; +import org.briarproject.api.sync.Group; /** An event that is broadcast when the user subscribes to a group. */ public class SubscriptionAddedEvent extends Event { diff --git a/briar-api/src/org/briarproject/api/event/SubscriptionRemovedEvent.java b/briar-api/src/org/briarproject/api/event/SubscriptionRemovedEvent.java index 8a3d0dabdf..a8e7524571 100644 --- a/briar-api/src/org/briarproject/api/event/SubscriptionRemovedEvent.java +++ b/briar-api/src/org/briarproject/api/event/SubscriptionRemovedEvent.java @@ -1,6 +1,6 @@ package org.briarproject.api.event; -import org.briarproject.api.messaging.Group; +import org.briarproject.api.sync.Group; /** An event that is broadcast when the user unsubscribes from a group. */ public class SubscriptionRemovedEvent extends Event { diff --git a/briar-api/src/org/briarproject/api/messaging/PacketWriter.java b/briar-api/src/org/briarproject/api/messaging/PacketWriter.java deleted file mode 100644 index 1300e84c5b..0000000000 --- a/briar-api/src/org/briarproject/api/messaging/PacketWriter.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.briarproject.api.messaging; - -import java.io.IOException; - -public interface PacketWriter { - - int getMaxMessagesForAck(long capacity); - - int getMaxMessagesForRequest(long capacity); - - int getMaxMessagesForOffer(long capacity); - - void writeAck(Ack a) throws IOException; - - void writeMessage(byte[] raw) throws IOException; - - void writeOffer(Offer o) throws IOException; - - void writeRequest(Request r) throws IOException; - - void writeRetentionAck(RetentionAck a) throws IOException; - - void writeRetentionUpdate(RetentionUpdate u) throws IOException; - - void writeSubscriptionAck(SubscriptionAck a) throws IOException; - - void writeSubscriptionUpdate(SubscriptionUpdate u) throws IOException; - - void writeTransportAck(TransportAck a) throws IOException; - - void writeTransportUpdate(TransportUpdate u) throws IOException; - - void flush() throws IOException; -} diff --git a/briar-api/src/org/briarproject/api/messaging/Request.java b/briar-api/src/org/briarproject/api/messaging/Request.java deleted file mode 100644 index eae1e39283..0000000000 --- a/briar-api/src/org/briarproject/api/messaging/Request.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.briarproject.api.messaging; - -import java.util.Collection; - -/** A packet requesting one or more {@link Message}s from the recipient. */ -public class Request { - - private final Collection<MessageId> requested; - - public Request(Collection<MessageId> requested) { - this.requested = requested; - } - - /** Returns the identifiers of the requested messages. */ - public Collection<MessageId> getMessageIds() { - return requested; - } -} diff --git a/briar-api/src/org/briarproject/api/messaging/Ack.java b/briar-api/src/org/briarproject/api/sync/Ack.java similarity index 90% rename from briar-api/src/org/briarproject/api/messaging/Ack.java rename to briar-api/src/org/briarproject/api/sync/Ack.java index 485c17b816..70417fc161 100644 --- a/briar-api/src/org/briarproject/api/messaging/Ack.java +++ b/briar-api/src/org/briarproject/api/sync/Ack.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.util.Collection; diff --git a/briar-api/src/org/briarproject/api/messaging/Group.java b/briar-api/src/org/briarproject/api/sync/Group.java similarity index 77% rename from briar-api/src/org/briarproject/api/messaging/Group.java rename to briar-api/src/org/briarproject/api/sync/Group.java index 90e6953874..c10accdb84 100644 --- a/briar-api/src/org/briarproject/api/messaging/Group.java +++ b/briar-api/src/org/briarproject/api/sync/Group.java @@ -1,7 +1,4 @@ -package org.briarproject.api.messaging; - -import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_GROUP_NAME_LENGTH; +package org.briarproject.api.sync; import java.io.UnsupportedEncodingException; @@ -19,9 +16,9 @@ public class Group { } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } - if (length == 0 || length > MAX_GROUP_NAME_LENGTH) + if (length == 0 || length > MessagingConstants.MAX_GROUP_NAME_LENGTH) throw new IllegalArgumentException(); - if (salt.length != GROUP_SALT_LENGTH) + if (salt.length != MessagingConstants.GROUP_SALT_LENGTH) throw new IllegalArgumentException(); this.id = id; this.name = name; diff --git a/briar-api/src/org/briarproject/api/messaging/GroupFactory.java b/briar-api/src/org/briarproject/api/sync/GroupFactory.java similarity index 85% rename from briar-api/src/org/briarproject/api/messaging/GroupFactory.java rename to briar-api/src/org/briarproject/api/sync/GroupFactory.java index f1ec1183a9..2850bec19c 100644 --- a/briar-api/src/org/briarproject/api/messaging/GroupFactory.java +++ b/briar-api/src/org/briarproject/api/sync/GroupFactory.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; public interface GroupFactory { diff --git a/briar-api/src/org/briarproject/api/messaging/GroupId.java b/briar-api/src/org/briarproject/api/sync/GroupId.java similarity index 90% rename from briar-api/src/org/briarproject/api/messaging/GroupId.java rename to briar-api/src/org/briarproject/api/sync/GroupId.java index 7732774e43..dc5a4b9239 100644 --- a/briar-api/src/org/briarproject/api/messaging/GroupId.java +++ b/briar-api/src/org/briarproject/api/sync/GroupId.java @@ -1,9 +1,9 @@ -package org.briarproject.api.messaging; - -import java.util.Arrays; +package org.briarproject.api.sync; import org.briarproject.api.UniqueId; +import java.util.Arrays; + /** * Type-safe wrapper for a byte array that uniquely identifies a {@link Group}. */ diff --git a/briar-api/src/org/briarproject/api/messaging/Message.java b/briar-api/src/org/briarproject/api/sync/Message.java similarity index 96% rename from briar-api/src/org/briarproject/api/messaging/Message.java rename to briar-api/src/org/briarproject/api/sync/Message.java index dd6291e55e..a8245f13fe 100644 --- a/briar-api/src/org/briarproject/api/messaging/Message.java +++ b/briar-api/src/org/briarproject/api/sync/Message.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import org.briarproject.api.Author; diff --git a/briar-api/src/org/briarproject/api/messaging/MessageFactory.java b/briar-api/src/org/briarproject/api/sync/MessageFactory.java similarity index 67% rename from briar-api/src/org/briarproject/api/messaging/MessageFactory.java rename to briar-api/src/org/briarproject/api/sync/MessageFactory.java index 7e06f0d0b7..63012b3bc4 100644 --- a/briar-api/src/org/briarproject/api/messaging/MessageFactory.java +++ b/briar-api/src/org/briarproject/api/sync/MessageFactory.java @@ -1,18 +1,18 @@ -package org.briarproject.api.messaging; - -import java.io.IOException; -import java.security.GeneralSecurityException; +package org.briarproject.api.sync; import org.briarproject.api.Author; import org.briarproject.api.crypto.PrivateKey; +import java.io.IOException; +import java.security.GeneralSecurityException; + public interface MessageFactory { - Message createAnonymousMessage(MessageId parent, Group group, + Message createAnonymousMessage(MessageId parent, org.briarproject.api.sync.Group group, String contentType, long timestamp, byte[] body) throws IOException, GeneralSecurityException; - Message createPseudonymousMessage(MessageId parent, Group group, + Message createPseudonymousMessage(MessageId parent, org.briarproject.api.sync.Group group, Author author, PrivateKey privateKey, String contentType, long timestamp, byte[] body) throws IOException, GeneralSecurityException; diff --git a/briar-api/src/org/briarproject/api/messaging/MessageId.java b/briar-api/src/org/briarproject/api/sync/MessageId.java similarity index 90% rename from briar-api/src/org/briarproject/api/messaging/MessageId.java rename to briar-api/src/org/briarproject/api/sync/MessageId.java index a2a79c43de..472caec3fb 100644 --- a/briar-api/src/org/briarproject/api/messaging/MessageId.java +++ b/briar-api/src/org/briarproject/api/sync/MessageId.java @@ -1,9 +1,9 @@ -package org.briarproject.api.messaging; - -import java.util.Arrays; +package org.briarproject.api.sync; import org.briarproject.api.UniqueId; +import java.util.Arrays; + /** * Type-safe wrapper for a byte array that uniquely identifies a * {@link Message}. diff --git a/briar-api/src/org/briarproject/api/messaging/MessageVerifier.java b/briar-api/src/org/briarproject/api/sync/MessageVerifier.java similarity index 85% rename from briar-api/src/org/briarproject/api/messaging/MessageVerifier.java rename to briar-api/src/org/briarproject/api/sync/MessageVerifier.java index 6ac3d277bd..87ee02be69 100644 --- a/briar-api/src/org/briarproject/api/messaging/MessageVerifier.java +++ b/briar-api/src/org/briarproject/api/sync/MessageVerifier.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.security.GeneralSecurityException; diff --git a/briar-api/src/org/briarproject/api/messaging/MessagingConstants.java b/briar-api/src/org/briarproject/api/sync/MessagingConstants.java similarity index 97% rename from briar-api/src/org/briarproject/api/messaging/MessagingConstants.java rename to briar-api/src/org/briarproject/api/sync/MessagingConstants.java index fefe79a3ba..5353f442f7 100644 --- a/briar-api/src/org/briarproject/api/messaging/MessagingConstants.java +++ b/briar-api/src/org/briarproject/api/sync/MessagingConstants.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; public interface MessagingConstants { diff --git a/briar-api/src/org/briarproject/api/messaging/MessagingSession.java b/briar-api/src/org/briarproject/api/sync/MessagingSession.java similarity index 90% rename from briar-api/src/org/briarproject/api/messaging/MessagingSession.java rename to briar-api/src/org/briarproject/api/sync/MessagingSession.java index c4d8d39890..17009b9644 100644 --- a/briar-api/src/org/briarproject/api/messaging/MessagingSession.java +++ b/briar-api/src/org/briarproject/api/sync/MessagingSession.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.io.IOException; diff --git a/briar-api/src/org/briarproject/api/messaging/MessagingSessionFactory.java b/briar-api/src/org/briarproject/api/sync/MessagingSessionFactory.java similarity index 92% rename from briar-api/src/org/briarproject/api/messaging/MessagingSessionFactory.java rename to briar-api/src/org/briarproject/api/sync/MessagingSessionFactory.java index 8764f3e255..0cae83d890 100644 --- a/briar-api/src/org/briarproject/api/messaging/MessagingSessionFactory.java +++ b/briar-api/src/org/briarproject/api/sync/MessagingSessionFactory.java @@ -1,11 +1,11 @@ -package org.briarproject.api.messaging; - -import java.io.InputStream; -import java.io.OutputStream; +package org.briarproject.api.sync; import org.briarproject.api.ContactId; import org.briarproject.api.TransportId; +import java.io.InputStream; +import java.io.OutputStream; + public interface MessagingSessionFactory { MessagingSession createIncomingSession(ContactId c, TransportId t, diff --git a/briar-api/src/org/briarproject/api/messaging/Offer.java b/briar-api/src/org/briarproject/api/sync/Offer.java similarity index 74% rename from briar-api/src/org/briarproject/api/messaging/Offer.java rename to briar-api/src/org/briarproject/api/sync/Offer.java index 8ab4a0dc17..6611fda66b 100644 --- a/briar-api/src/org/briarproject/api/messaging/Offer.java +++ b/briar-api/src/org/briarproject/api/sync/Offer.java @@ -1,8 +1,8 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.util.Collection; -/** A packet offering the recipient one or more {@link Messages}. */ +/** A packet offering the recipient one or more {@link Message}s. */ public class Offer { private final Collection<MessageId> offered; diff --git a/briar-api/src/org/briarproject/api/messaging/PacketReader.java b/briar-api/src/org/briarproject/api/sync/PacketReader.java similarity index 63% rename from briar-api/src/org/briarproject/api/messaging/PacketReader.java rename to briar-api/src/org/briarproject/api/sync/PacketReader.java index d390bf2498..b6c6e61e00 100644 --- a/briar-api/src/org/briarproject/api/messaging/PacketReader.java +++ b/briar-api/src/org/briarproject/api/sync/PacketReader.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.io.IOException; @@ -19,20 +19,20 @@ public interface PacketReader { Request readRequest() throws IOException; boolean hasRetentionAck() throws IOException; - RetentionAck readRetentionAck() throws IOException; + org.briarproject.api.sync.RetentionAck readRetentionAck() throws IOException; boolean hasRetentionUpdate() throws IOException; - RetentionUpdate readRetentionUpdate() throws IOException; + org.briarproject.api.sync.RetentionUpdate readRetentionUpdate() throws IOException; boolean hasSubscriptionAck() throws IOException; - SubscriptionAck readSubscriptionAck() throws IOException; + org.briarproject.api.sync.SubscriptionAck readSubscriptionAck() throws IOException; boolean hasSubscriptionUpdate() throws IOException; - SubscriptionUpdate readSubscriptionUpdate() throws IOException; + org.briarproject.api.sync.SubscriptionUpdate readSubscriptionUpdate() throws IOException; boolean hasTransportAck() throws IOException; TransportAck readTransportAck() throws IOException; boolean hasTransportUpdate() throws IOException; - TransportUpdate readTransportUpdate() throws IOException; + org.briarproject.api.sync.TransportUpdate readTransportUpdate() throws IOException; } diff --git a/briar-api/src/org/briarproject/api/messaging/PacketReaderFactory.java b/briar-api/src/org/briarproject/api/sync/PacketReaderFactory.java similarity index 75% rename from briar-api/src/org/briarproject/api/messaging/PacketReaderFactory.java rename to briar-api/src/org/briarproject/api/sync/PacketReaderFactory.java index 3bede6db2a..5e48269d2f 100644 --- a/briar-api/src/org/briarproject/api/messaging/PacketReaderFactory.java +++ b/briar-api/src/org/briarproject/api/sync/PacketReaderFactory.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.io.InputStream; diff --git a/briar-api/src/org/briarproject/api/messaging/PacketTypes.java b/briar-api/src/org/briarproject/api/sync/PacketTypes.java similarity index 88% rename from briar-api/src/org/briarproject/api/messaging/PacketTypes.java rename to briar-api/src/org/briarproject/api/sync/PacketTypes.java index 41c2eee6f7..595135d125 100644 --- a/briar-api/src/org/briarproject/api/messaging/PacketTypes.java +++ b/briar-api/src/org/briarproject/api/sync/PacketTypes.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; /** Packet types for the messaging protocol. */ public interface PacketTypes { diff --git a/briar-api/src/org/briarproject/api/sync/PacketWriter.java b/briar-api/src/org/briarproject/api/sync/PacketWriter.java new file mode 100644 index 0000000000..3e43eeb48d --- /dev/null +++ b/briar-api/src/org/briarproject/api/sync/PacketWriter.java @@ -0,0 +1,34 @@ +package org.briarproject.api.sync; + +import java.io.IOException; + +public interface PacketWriter { + + int getMaxMessagesForAck(long capacity); + + int getMaxMessagesForRequest(long capacity); + + int getMaxMessagesForOffer(long capacity); + + void writeAck(Ack a) throws IOException; + + void writeMessage(byte[] raw) throws IOException; + + void writeOffer(org.briarproject.api.sync.Offer o) throws IOException; + + void writeRequest(Request r) throws IOException; + + void writeRetentionAck(org.briarproject.api.sync.RetentionAck a) throws IOException; + + void writeRetentionUpdate(org.briarproject.api.sync.RetentionUpdate u) throws IOException; + + void writeSubscriptionAck(org.briarproject.api.sync.SubscriptionAck a) throws IOException; + + void writeSubscriptionUpdate(org.briarproject.api.sync.SubscriptionUpdate u) throws IOException; + + void writeTransportAck(org.briarproject.api.sync.TransportAck a) throws IOException; + + void writeTransportUpdate(org.briarproject.api.sync.TransportUpdate u) throws IOException; + + void flush() throws IOException; +} diff --git a/briar-api/src/org/briarproject/api/messaging/PacketWriterFactory.java b/briar-api/src/org/briarproject/api/sync/PacketWriterFactory.java similarity index 75% rename from briar-api/src/org/briarproject/api/messaging/PacketWriterFactory.java rename to briar-api/src/org/briarproject/api/sync/PacketWriterFactory.java index 5c1c5b4ec6..51befe31fe 100644 --- a/briar-api/src/org/briarproject/api/messaging/PacketWriterFactory.java +++ b/briar-api/src/org/briarproject/api/sync/PacketWriterFactory.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.io.OutputStream; diff --git a/briar-api/src/org/briarproject/api/sync/Request.java b/briar-api/src/org/briarproject/api/sync/Request.java new file mode 100644 index 0000000000..3b562802df --- /dev/null +++ b/briar-api/src/org/briarproject/api/sync/Request.java @@ -0,0 +1,18 @@ +package org.briarproject.api.sync; + +import java.util.Collection; + +/** A packet requesting one or more {@link Message}s from the recipient. */ +public class Request { + + private final Collection<org.briarproject.api.sync.MessageId> requested; + + public Request(Collection<org.briarproject.api.sync.MessageId> requested) { + this.requested = requested; + } + + /** Returns the identifiers of the requested messages. */ + public Collection<org.briarproject.api.sync.MessageId> getMessageIds() { + return requested; + } +} diff --git a/briar-api/src/org/briarproject/api/messaging/RetentionAck.java b/briar-api/src/org/briarproject/api/sync/RetentionAck.java similarity index 88% rename from briar-api/src/org/briarproject/api/messaging/RetentionAck.java rename to briar-api/src/org/briarproject/api/sync/RetentionAck.java index 9a538e65a7..5c36a94345 100644 --- a/briar-api/src/org/briarproject/api/messaging/RetentionAck.java +++ b/briar-api/src/org/briarproject/api/sync/RetentionAck.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; /** A packet acknowledging a (@link RetentionUpdate} */ public class RetentionAck { diff --git a/briar-api/src/org/briarproject/api/messaging/RetentionUpdate.java b/briar-api/src/org/briarproject/api/sync/RetentionUpdate.java similarity index 90% rename from briar-api/src/org/briarproject/api/messaging/RetentionUpdate.java rename to briar-api/src/org/briarproject/api/sync/RetentionUpdate.java index 4e8a594980..5955a3955a 100644 --- a/briar-api/src/org/briarproject/api/messaging/RetentionUpdate.java +++ b/briar-api/src/org/briarproject/api/sync/RetentionUpdate.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; /** * A packet updating the recipient's view of the retention time of the sender's diff --git a/briar-api/src/org/briarproject/api/messaging/SubscriptionAck.java b/briar-api/src/org/briarproject/api/sync/SubscriptionAck.java similarity index 88% rename from briar-api/src/org/briarproject/api/messaging/SubscriptionAck.java rename to briar-api/src/org/briarproject/api/sync/SubscriptionAck.java index c304853858..b65ccf1c27 100644 --- a/briar-api/src/org/briarproject/api/messaging/SubscriptionAck.java +++ b/briar-api/src/org/briarproject/api/sync/SubscriptionAck.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; /** A packet acknowledging a {@link SubscriptionUpdate}. */ public class SubscriptionAck { diff --git a/briar-api/src/org/briarproject/api/messaging/SubscriptionUpdate.java b/briar-api/src/org/briarproject/api/sync/SubscriptionUpdate.java similarity index 93% rename from briar-api/src/org/briarproject/api/messaging/SubscriptionUpdate.java rename to briar-api/src/org/briarproject/api/sync/SubscriptionUpdate.java index 76f95ce097..0fabdf2783 100644 --- a/briar-api/src/org/briarproject/api/messaging/SubscriptionUpdate.java +++ b/briar-api/src/org/briarproject/api/sync/SubscriptionUpdate.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.util.Collection; diff --git a/briar-api/src/org/briarproject/api/messaging/TransportAck.java b/briar-api/src/org/briarproject/api/sync/TransportAck.java similarity index 92% rename from briar-api/src/org/briarproject/api/messaging/TransportAck.java rename to briar-api/src/org/briarproject/api/sync/TransportAck.java index ce6ccd4fb0..160d24dfff 100644 --- a/briar-api/src/org/briarproject/api/messaging/TransportAck.java +++ b/briar-api/src/org/briarproject/api/sync/TransportAck.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import org.briarproject.api.TransportId; diff --git a/briar-api/src/org/briarproject/api/messaging/TransportUpdate.java b/briar-api/src/org/briarproject/api/sync/TransportUpdate.java similarity index 95% rename from briar-api/src/org/briarproject/api/messaging/TransportUpdate.java rename to briar-api/src/org/briarproject/api/sync/TransportUpdate.java index 78f2b5b1b7..ea403ba342 100644 --- a/briar-api/src/org/briarproject/api/messaging/TransportUpdate.java +++ b/briar-api/src/org/briarproject/api/sync/TransportUpdate.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import org.briarproject.api.TransportId; import org.briarproject.api.TransportProperties; diff --git a/briar-api/src/org/briarproject/api/messaging/UnverifiedMessage.java b/briar-api/src/org/briarproject/api/sync/UnverifiedMessage.java similarity index 85% rename from briar-api/src/org/briarproject/api/messaging/UnverifiedMessage.java rename to briar-api/src/org/briarproject/api/sync/UnverifiedMessage.java index 1438e288c6..9f8baf59c6 100644 --- a/briar-api/src/org/briarproject/api/messaging/UnverifiedMessage.java +++ b/briar-api/src/org/briarproject/api/sync/UnverifiedMessage.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import org.briarproject.api.Author; @@ -6,14 +6,14 @@ import org.briarproject.api.Author; public class UnverifiedMessage { private final MessageId parent; - private final Group group; + private final org.briarproject.api.sync.Group group; private final Author author; private final String contentType; private final long timestamp; private final byte[] raw, signature; private final int bodyStart, bodyLength, signedLength; - public UnverifiedMessage(MessageId parent, Group group, Author author, + public UnverifiedMessage(MessageId parent, org.briarproject.api.sync.Group group, Author author, String contentType, long timestamp, byte[] raw, byte[] signature, int bodyStart, int bodyLength, int signedLength) { this.parent = parent; @@ -37,10 +37,10 @@ public class UnverifiedMessage { } /** - * Returns the {@link Group} to which the message belongs, or null if this + * Returns the {@link org.briarproject.api.sync.Group} to which the message belongs, or null if this * is a private message. */ - public Group getGroup() { + public org.briarproject.api.sync.Group getGroup() { return group; } diff --git a/briar-core/src/org/briarproject/db/Database.java b/briar-core/src/org/briarproject/db/Database.java index 9d3eda9bf8..feeb4381b0 100644 --- a/briar-core/src/org/briarproject/db/Database.java +++ b/briar-core/src/org/briarproject/db/Database.java @@ -11,16 +11,16 @@ import org.briarproject.api.TransportId; import org.briarproject.api.TransportProperties; import org.briarproject.api.db.DbException; import org.briarproject.api.db.MessageHeader; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.api.transport.TransportKeys; import java.io.IOException; diff --git a/briar-core/src/org/briarproject/db/DatabaseComponentImpl.java b/briar-core/src/org/briarproject/db/DatabaseComponentImpl.java index 4eafdfa513..caa88847d2 100644 --- a/briar-core/src/org/briarproject/db/DatabaseComponentImpl.java +++ b/briar-core/src/org/briarproject/db/DatabaseComponentImpl.java @@ -42,19 +42,19 @@ import org.briarproject.api.event.SubscriptionRemovedEvent; import org.briarproject.api.event.TransportAddedEvent; import org.briarproject.api.event.TransportRemovedEvent; import org.briarproject.api.lifecycle.ShutdownManager; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.api.transport.TransportKeys; import java.io.IOException; diff --git a/briar-core/src/org/briarproject/db/JdbcDatabase.java b/briar-core/src/org/briarproject/db/JdbcDatabase.java index acecbf4fb7..f0dd8c5324 100644 --- a/briar-core/src/org/briarproject/db/JdbcDatabase.java +++ b/briar-core/src/org/briarproject/db/JdbcDatabase.java @@ -14,16 +14,16 @@ import org.briarproject.api.db.DbClosedException; import org.briarproject.api.db.DbException; import org.briarproject.api.db.MessageHeader; import org.briarproject.api.db.MessageHeader.State; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.IncomingKeys; import org.briarproject.api.transport.OutgoingKeys; @@ -57,8 +57,8 @@ import static java.util.logging.Level.WARNING; import static org.briarproject.api.Author.Status.ANONYMOUS; import static org.briarproject.api.Author.Status.UNKNOWN; import static org.briarproject.api.Author.Status.VERIFIED; -import static org.briarproject.api.messaging.MessagingConstants.MAX_SUBSCRIPTIONS; -import static org.briarproject.api.messaging.MessagingConstants.RETENTION_GRANULARITY; +import static org.briarproject.api.sync.MessagingConstants.MAX_SUBSCRIPTIONS; +import static org.briarproject.api.sync.MessagingConstants.RETENTION_GRANULARITY; import static org.briarproject.db.ExponentialBackoff.calculateExpiry; /** @@ -2675,7 +2675,6 @@ abstract class JdbcDatabase implements Database<Connection> { public void raiseRequestedFlag(Connection txn, ContactId c, MessageId m) throws DbException { PreparedStatement ps = null; - ResultSet rs = null; try { String sql = "UPDATE statuses SET requested = TRUE" + " WHERE messageId = ? AND contactId = ?"; @@ -2686,7 +2685,6 @@ abstract class JdbcDatabase implements Database<Connection> { if (affected < 0 || affected > 1) throw new DbStateException(); ps.close(); } catch (SQLException e) { - tryToClose(rs); tryToClose(ps); throw new DbException(e); } @@ -2695,7 +2693,6 @@ abstract class JdbcDatabase implements Database<Connection> { public void raiseSeenFlag(Connection txn, ContactId c, MessageId m) throws DbException { PreparedStatement ps = null; - ResultSet rs = null; try { String sql = "UPDATE statuses SET seen = TRUE" + " WHERE messageId = ? AND contactId = ?"; @@ -2706,7 +2703,6 @@ abstract class JdbcDatabase implements Database<Connection> { if (affected < 0 || affected > 1) throw new DbStateException(); ps.close(); } catch (SQLException e) { - tryToClose(rs); tryToClose(ps); throw new DbException(e); } diff --git a/briar-core/src/org/briarproject/invitation/AliceConnector.java b/briar-core/src/org/briarproject/invitation/AliceConnector.java index f37357385c..460feac240 100644 --- a/briar-core/src/org/briarproject/invitation/AliceConnector.java +++ b/briar-core/src/org/briarproject/invitation/AliceConnector.java @@ -14,10 +14,10 @@ import org.briarproject.api.data.Writer; import org.briarproject.api.data.WriterFactory; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.messaging.GroupFactory; import org.briarproject.api.plugins.ConnectionManager; import org.briarproject.api.plugins.duplex.DuplexPlugin; import org.briarproject.api.plugins.duplex.DuplexTransportConnection; +import org.briarproject.api.sync.GroupFactory; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamReaderFactory; diff --git a/briar-core/src/org/briarproject/invitation/BobConnector.java b/briar-core/src/org/briarproject/invitation/BobConnector.java index 845ee0df7b..20c60061a0 100644 --- a/briar-core/src/org/briarproject/invitation/BobConnector.java +++ b/briar-core/src/org/briarproject/invitation/BobConnector.java @@ -14,10 +14,10 @@ import org.briarproject.api.data.Writer; import org.briarproject.api.data.WriterFactory; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.messaging.GroupFactory; import org.briarproject.api.plugins.ConnectionManager; import org.briarproject.api.plugins.duplex.DuplexPlugin; import org.briarproject.api.plugins.duplex.DuplexTransportConnection; +import org.briarproject.api.sync.GroupFactory; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamReaderFactory; diff --git a/briar-core/src/org/briarproject/invitation/Connector.java b/briar-core/src/org/briarproject/invitation/Connector.java index d8c4e674fc..4734160629 100644 --- a/briar-core/src/org/briarproject/invitation/Connector.java +++ b/briar-core/src/org/briarproject/invitation/Connector.java @@ -20,11 +20,11 @@ import org.briarproject.api.data.Writer; import org.briarproject.api.data.WriterFactory; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; import org.briarproject.api.plugins.ConnectionManager; import org.briarproject.api.plugins.duplex.DuplexPlugin; import org.briarproject.api.plugins.duplex.DuplexTransportConnection; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamReaderFactory; diff --git a/briar-core/src/org/briarproject/invitation/ConnectorGroup.java b/briar-core/src/org/briarproject/invitation/ConnectorGroup.java index 5861c07b00..11c9855224 100644 --- a/briar-core/src/org/briarproject/invitation/ConnectorGroup.java +++ b/briar-core/src/org/briarproject/invitation/ConnectorGroup.java @@ -15,10 +15,10 @@ import org.briarproject.api.db.DbException; import org.briarproject.api.invitation.InvitationListener; import org.briarproject.api.invitation.InvitationState; import org.briarproject.api.invitation.InvitationTask; -import org.briarproject.api.messaging.GroupFactory; import org.briarproject.api.plugins.ConnectionManager; import org.briarproject.api.plugins.PluginManager; import org.briarproject.api.plugins.duplex.DuplexPlugin; +import org.briarproject.api.sync.GroupFactory; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamReaderFactory; diff --git a/briar-core/src/org/briarproject/invitation/InvitationTaskFactoryImpl.java b/briar-core/src/org/briarproject/invitation/InvitationTaskFactoryImpl.java index 97c65c0985..7438deccd7 100644 --- a/briar-core/src/org/briarproject/invitation/InvitationTaskFactoryImpl.java +++ b/briar-core/src/org/briarproject/invitation/InvitationTaskFactoryImpl.java @@ -1,7 +1,5 @@ package org.briarproject.invitation; -import javax.inject.Inject; - import org.briarproject.api.AuthorFactory; import org.briarproject.api.AuthorId; import org.briarproject.api.crypto.CryptoComponent; @@ -10,14 +8,16 @@ import org.briarproject.api.data.WriterFactory; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.invitation.InvitationTask; import org.briarproject.api.invitation.InvitationTaskFactory; -import org.briarproject.api.messaging.GroupFactory; import org.briarproject.api.plugins.ConnectionManager; import org.briarproject.api.plugins.PluginManager; +import org.briarproject.api.sync.GroupFactory; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamReaderFactory; import org.briarproject.api.transport.StreamWriterFactory; +import javax.inject.Inject; + class InvitationTaskFactoryImpl implements InvitationTaskFactory { private final CryptoComponent crypto; diff --git a/briar-core/src/org/briarproject/messaging/ThrowingRunnable.java b/briar-core/src/org/briarproject/messaging/ThrowingRunnable.java deleted file mode 100644 index 334581daac..0000000000 --- a/briar-core/src/org/briarproject/messaging/ThrowingRunnable.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.briarproject.messaging; - -interface ThrowingRunnable<T extends Throwable> { - - public void run() throws T; -} diff --git a/briar-core/src/org/briarproject/plugins/ConnectionManagerImpl.java b/briar-core/src/org/briarproject/plugins/ConnectionManagerImpl.java index 5b1e32be10..20c7fb49de 100644 --- a/briar-core/src/org/briarproject/plugins/ConnectionManagerImpl.java +++ b/briar-core/src/org/briarproject/plugins/ConnectionManagerImpl.java @@ -1,33 +1,33 @@ package org.briarproject.plugins; -import static java.util.logging.Level.WARNING; -import static org.briarproject.api.transport.TransportConstants.TAG_LENGTH; - -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.concurrent.Executor; -import java.util.logging.Logger; - -import javax.inject.Inject; - import org.briarproject.api.ContactId; import org.briarproject.api.TransportId; import org.briarproject.api.db.DbException; import org.briarproject.api.lifecycle.IoExecutor; -import org.briarproject.api.messaging.MessagingSession; -import org.briarproject.api.messaging.MessagingSessionFactory; import org.briarproject.api.plugins.ConnectionManager; import org.briarproject.api.plugins.ConnectionRegistry; import org.briarproject.api.plugins.TransportConnectionReader; import org.briarproject.api.plugins.TransportConnectionWriter; import org.briarproject.api.plugins.duplex.DuplexTransportConnection; +import org.briarproject.api.sync.MessagingSession; +import org.briarproject.api.sync.MessagingSessionFactory; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamContext; import org.briarproject.api.transport.StreamReaderFactory; import org.briarproject.api.transport.StreamWriterFactory; +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.concurrent.Executor; +import java.util.logging.Logger; + +import javax.inject.Inject; + +import static java.util.logging.Level.WARNING; +import static org.briarproject.api.transport.TransportConstants.TAG_LENGTH; + class ConnectionManagerImpl implements ConnectionManager { private static final Logger LOG = diff --git a/briar-core/src/org/briarproject/messaging/AuthorFactoryImpl.java b/briar-core/src/org/briarproject/sync/AuthorFactoryImpl.java similarity index 97% rename from briar-core/src/org/briarproject/messaging/AuthorFactoryImpl.java rename to briar-core/src/org/briarproject/sync/AuthorFactoryImpl.java index 1458137291..c0cf59deb7 100644 --- a/briar-core/src/org/briarproject/messaging/AuthorFactoryImpl.java +++ b/briar-core/src/org/briarproject/sync/AuthorFactoryImpl.java @@ -1,9 +1,4 @@ -package org.briarproject.messaging; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import javax.inject.Inject; +package org.briarproject.sync; import org.briarproject.api.Author; import org.briarproject.api.AuthorFactory; @@ -15,6 +10,11 @@ import org.briarproject.api.data.Writer; import org.briarproject.api.data.WriterFactory; import org.briarproject.api.system.Clock; +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +import javax.inject.Inject; + class AuthorFactoryImpl implements AuthorFactory { private final CryptoComponent crypto; diff --git a/briar-core/src/org/briarproject/messaging/AuthorReader.java b/briar-core/src/org/briarproject/sync/AuthorReader.java similarity index 97% rename from briar-core/src/org/briarproject/messaging/AuthorReader.java rename to briar-core/src/org/briarproject/sync/AuthorReader.java index 3223b4ca20..22aa7a5f12 100644 --- a/briar-core/src/org/briarproject/messaging/AuthorReader.java +++ b/briar-core/src/org/briarproject/sync/AuthorReader.java @@ -1,9 +1,4 @@ -package org.briarproject.messaging; - -import static org.briarproject.api.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; -import static org.briarproject.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; - -import java.io.IOException; +package org.briarproject.sync; import org.briarproject.api.Author; import org.briarproject.api.AuthorId; @@ -13,6 +8,11 @@ import org.briarproject.api.crypto.MessageDigest; import org.briarproject.api.data.ObjectReader; import org.briarproject.api.data.Reader; +import java.io.IOException; + +import static org.briarproject.api.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; +import static org.briarproject.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; + class AuthorReader implements ObjectReader<Author> { private final MessageDigest messageDigest; diff --git a/briar-core/src/org/briarproject/messaging/CopyingConsumer.java b/briar-core/src/org/briarproject/sync/CopyingConsumer.java similarity index 93% rename from briar-core/src/org/briarproject/messaging/CopyingConsumer.java rename to briar-core/src/org/briarproject/sync/CopyingConsumer.java index 76bbd49adc..39ee00b25f 100644 --- a/briar-core/src/org/briarproject/messaging/CopyingConsumer.java +++ b/briar-core/src/org/briarproject/sync/CopyingConsumer.java @@ -1,10 +1,10 @@ -package org.briarproject.messaging; +package org.briarproject.sync; + +import org.briarproject.api.data.Consumer; import java.io.ByteArrayOutputStream; import java.io.IOException; -import org.briarproject.api.data.Consumer; - /** A consumer that makes a copy of the bytes consumed. */ class CopyingConsumer implements Consumer { diff --git a/briar-core/src/org/briarproject/messaging/CountingConsumer.java b/briar-core/src/org/briarproject/sync/CountingConsumer.java similarity index 95% rename from briar-core/src/org/briarproject/messaging/CountingConsumer.java rename to briar-core/src/org/briarproject/sync/CountingConsumer.java index 8b01aa06b2..63b2874e07 100644 --- a/briar-core/src/org/briarproject/messaging/CountingConsumer.java +++ b/briar-core/src/org/briarproject/sync/CountingConsumer.java @@ -1,10 +1,10 @@ -package org.briarproject.messaging; - -import java.io.IOException; +package org.briarproject.sync; import org.briarproject.api.FormatException; import org.briarproject.api.data.Consumer; +import java.io.IOException; + /** * A consumer that counts the number of bytes consumed and throws a * FormatException if the count exceeds a given limit. diff --git a/briar-core/src/org/briarproject/messaging/DigestingConsumer.java b/briar-core/src/org/briarproject/sync/DigestingConsumer.java similarity index 93% rename from briar-core/src/org/briarproject/messaging/DigestingConsumer.java rename to briar-core/src/org/briarproject/sync/DigestingConsumer.java index e9bb102eb0..ee217334e8 100644 --- a/briar-core/src/org/briarproject/messaging/DigestingConsumer.java +++ b/briar-core/src/org/briarproject/sync/DigestingConsumer.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import org.briarproject.api.crypto.MessageDigest; import org.briarproject.api.data.Consumer; diff --git a/briar-core/src/org/briarproject/messaging/DuplexOutgoingSession.java b/briar-core/src/org/briarproject/sync/DuplexOutgoingSession.java similarity index 95% rename from briar-core/src/org/briarproject/messaging/DuplexOutgoingSession.java rename to briar-core/src/org/briarproject/sync/DuplexOutgoingSession.java index a2b1ff99f8..ad7cea3758 100644 --- a/briar-core/src/org/briarproject/messaging/DuplexOutgoingSession.java +++ b/briar-core/src/org/briarproject/sync/DuplexOutgoingSession.java @@ -1,16 +1,4 @@ -package org.briarproject.messaging; - -import static java.util.concurrent.TimeUnit.MILLISECONDS; -import static java.util.logging.Level.INFO; -import static java.util.logging.Level.WARNING; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; - -import java.io.IOException; -import java.util.Collection; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.Executor; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.logging.Logger; +package org.briarproject.sync; import org.briarproject.api.ContactId; import org.briarproject.api.TransportId; @@ -32,21 +20,33 @@ import org.briarproject.api.event.RemoteSubscriptionsUpdatedEvent; import org.briarproject.api.event.RemoteTransportsUpdatedEvent; import org.briarproject.api.event.ShutdownEvent; import org.briarproject.api.event.TransportRemovedEvent; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.MessagingSession; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.MessagingSession; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.api.system.Clock; +import java.io.IOException; +import java.util.Collection; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Executor; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.logging.Logger; + +import static java.util.concurrent.TimeUnit.MILLISECONDS; +import static java.util.logging.Level.INFO; +import static java.util.logging.Level.WARNING; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; + /** - * An outgoing {@link org.briarproject.api.messaging.MessagingSession + * An outgoing {@link MessagingSession * MessagingSession} suitable for duplex transports. The session offers * messages before sending them, keeps its output stream open when there are no * packets to send, and reacts to events that make packets available to send. diff --git a/briar-core/src/org/briarproject/messaging/GroupFactoryImpl.java b/briar-core/src/org/briarproject/sync/GroupFactoryImpl.java similarity index 83% rename from briar-core/src/org/briarproject/messaging/GroupFactoryImpl.java rename to briar-core/src/org/briarproject/sync/GroupFactoryImpl.java index 37bee81a29..2b422b917c 100644 --- a/briar-core/src/org/briarproject/messaging/GroupFactoryImpl.java +++ b/briar-core/src/org/briarproject/sync/GroupFactoryImpl.java @@ -1,19 +1,19 @@ -package org.briarproject.messaging; +package org.briarproject.sync; -import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH; +import org.briarproject.api.crypto.CryptoComponent; +import org.briarproject.api.crypto.MessageDigest; +import org.briarproject.api.data.Writer; +import org.briarproject.api.data.WriterFactory; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; +import org.briarproject.api.sync.GroupId; import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.inject.Inject; -import org.briarproject.api.crypto.CryptoComponent; -import org.briarproject.api.crypto.MessageDigest; -import org.briarproject.api.data.Writer; -import org.briarproject.api.data.WriterFactory; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; -import org.briarproject.api.messaging.GroupId; +import static org.briarproject.api.sync.MessagingConstants.GROUP_SALT_LENGTH; class GroupFactoryImpl implements GroupFactory { diff --git a/briar-core/src/org/briarproject/messaging/GroupReader.java b/briar-core/src/org/briarproject/sync/GroupReader.java similarity index 77% rename from briar-core/src/org/briarproject/messaging/GroupReader.java rename to briar-core/src/org/briarproject/sync/GroupReader.java index 6e6f5d3c83..9ee9fe1a05 100644 --- a/briar-core/src/org/briarproject/messaging/GroupReader.java +++ b/briar-core/src/org/briarproject/sync/GroupReader.java @@ -1,17 +1,17 @@ -package org.briarproject.messaging; - -import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_GROUP_NAME_LENGTH; - -import java.io.IOException; +package org.briarproject.sync; import org.briarproject.api.FormatException; import org.briarproject.api.crypto.CryptoComponent; import org.briarproject.api.crypto.MessageDigest; import org.briarproject.api.data.ObjectReader; import org.briarproject.api.data.Reader; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; + +import java.io.IOException; + +import static org.briarproject.api.sync.MessagingConstants.GROUP_SALT_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_GROUP_NAME_LENGTH; class GroupReader implements ObjectReader<Group> { diff --git a/briar-core/src/org/briarproject/messaging/IncomingSession.java b/briar-core/src/org/briarproject/sync/IncomingSession.java similarity index 90% rename from briar-core/src/org/briarproject/messaging/IncomingSession.java rename to briar-core/src/org/briarproject/sync/IncomingSession.java index a3c8d1cde2..092cf50794 100644 --- a/briar-core/src/org/briarproject/messaging/IncomingSession.java +++ b/briar-core/src/org/briarproject/sync/IncomingSession.java @@ -1,11 +1,4 @@ -package org.briarproject.messaging; - -import static java.util.logging.Level.WARNING; - -import java.io.IOException; -import java.security.GeneralSecurityException; -import java.util.concurrent.Executor; -import java.util.logging.Logger; +package org.briarproject.sync; import org.briarproject.api.ContactId; import org.briarproject.api.FormatException; @@ -18,23 +11,30 @@ import org.briarproject.api.event.EventBus; import org.briarproject.api.event.EventListener; import org.briarproject.api.event.ShutdownEvent; import org.briarproject.api.event.TransportRemovedEvent; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageVerifier; -import org.briarproject.api.messaging.MessagingSession; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.PacketReader; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; -import org.briarproject.api.messaging.UnverifiedMessage; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageVerifier; +import org.briarproject.api.sync.MessagingSession; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.PacketReader; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; +import org.briarproject.api.sync.UnverifiedMessage; + +import java.io.IOException; +import java.security.GeneralSecurityException; +import java.util.concurrent.Executor; +import java.util.logging.Logger; + +import static java.util.logging.Level.WARNING; /** - * An incoming {@link org.briarproject.api.messaging.MessagingSession + * An incoming {@link MessagingSession * MessagingSession}. */ class IncomingSession implements MessagingSession, EventListener { diff --git a/briar-core/src/org/briarproject/messaging/MessageFactoryImpl.java b/briar-core/src/org/briarproject/sync/MessageFactoryImpl.java similarity index 85% rename from briar-core/src/org/briarproject/messaging/MessageFactoryImpl.java rename to briar-core/src/org/briarproject/sync/MessageFactoryImpl.java index d584a9daf0..9b7e4c4b7a 100644 --- a/briar-core/src/org/briarproject/messaging/MessageFactoryImpl.java +++ b/briar-core/src/org/briarproject/sync/MessageFactoryImpl.java @@ -1,17 +1,4 @@ -package org.briarproject.messaging; - -import static org.briarproject.api.AuthorConstants.MAX_SIGNATURE_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_BODY_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MESSAGE_SALT_LENGTH; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.security.GeneralSecurityException; -import java.security.SecureRandom; - -import javax.inject.Inject; +package org.briarproject.sync; import org.briarproject.api.Author; import org.briarproject.api.crypto.CryptoComponent; @@ -21,12 +8,25 @@ import org.briarproject.api.crypto.Signature; import org.briarproject.api.data.Consumer; import org.briarproject.api.data.Writer; import org.briarproject.api.data.WriterFactory; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.security.GeneralSecurityException; +import java.security.SecureRandom; + +import javax.inject.Inject; + +import static org.briarproject.api.AuthorConstants.MAX_SIGNATURE_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_BODY_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MESSAGE_SALT_LENGTH; + class MessageFactoryImpl implements MessageFactory { private final Signature signature; @@ -78,7 +78,7 @@ class MessageFactoryImpl implements MessageFactory { Consumer signingConsumer = null; if (privateKey != null) { signature.initSign(privateKey); - signingConsumer = new SigningConsumer(signature); + signingConsumer = new org.briarproject.sync.SigningConsumer(signature); w.addConsumer(signingConsumer); } // Write the message @@ -109,7 +109,7 @@ class MessageFactoryImpl implements MessageFactory { // Hash the message, including the signature, to get the message ID w.removeConsumer(digestingConsumer); MessageId id = new MessageId(messageDigest.digest()); - return new MessageImpl(id, parent, group, author, contentType, + return new org.briarproject.sync.MessageImpl(id, parent, group, author, contentType, timestamp, out.toByteArray(), bodyStart, body.length); } diff --git a/briar-core/src/org/briarproject/messaging/MessageImpl.java b/briar-core/src/org/briarproject/sync/MessageImpl.java similarity index 85% rename from briar-core/src/org/briarproject/messaging/MessageImpl.java rename to briar-core/src/org/briarproject/sync/MessageImpl.java index 32a2caeaf2..761d2e9b6e 100644 --- a/briar-core/src/org/briarproject/messaging/MessageImpl.java +++ b/briar-core/src/org/briarproject/sync/MessageImpl.java @@ -1,11 +1,11 @@ -package org.briarproject.messaging; - -import static org.briarproject.api.messaging.MessagingConstants.MAX_BODY_LENGTH; +package org.briarproject.sync; import org.briarproject.api.Author; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; + +import static org.briarproject.api.sync.MessagingConstants.MAX_BODY_LENGTH; /** A simple in-memory implementation of a message. */ class MessageImpl implements Message { diff --git a/briar-core/src/org/briarproject/messaging/MessageReader.java b/briar-core/src/org/briarproject/sync/MessageReader.java similarity index 82% rename from briar-core/src/org/briarproject/messaging/MessageReader.java rename to briar-core/src/org/briarproject/sync/MessageReader.java index a415ce0c4c..fc549af831 100644 --- a/briar-core/src/org/briarproject/messaging/MessageReader.java +++ b/briar-core/src/org/briarproject/sync/MessageReader.java @@ -1,21 +1,21 @@ -package org.briarproject.messaging; - -import static org.briarproject.api.AuthorConstants.MAX_SIGNATURE_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_BODY_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MESSAGE_SALT_LENGTH; - -import java.io.IOException; +package org.briarproject.sync; import org.briarproject.api.Author; import org.briarproject.api.FormatException; import org.briarproject.api.UniqueId; import org.briarproject.api.data.ObjectReader; import org.briarproject.api.data.Reader; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.UnverifiedMessage; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.UnverifiedMessage; + +import java.io.IOException; + +import static org.briarproject.api.AuthorConstants.MAX_SIGNATURE_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_BODY_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MESSAGE_SALT_LENGTH; class MessageReader implements ObjectReader<UnverifiedMessage> { diff --git a/briar-core/src/org/briarproject/messaging/MessageVerifierImpl.java b/briar-core/src/org/briarproject/sync/MessageVerifierImpl.java similarity index 90% rename from briar-core/src/org/briarproject/messaging/MessageVerifierImpl.java rename to briar-core/src/org/briarproject/sync/MessageVerifierImpl.java index 4daa906662..9c38f3b7b2 100644 --- a/briar-core/src/org/briarproject/messaging/MessageVerifierImpl.java +++ b/briar-core/src/org/briarproject/sync/MessageVerifierImpl.java @@ -1,12 +1,4 @@ -package org.briarproject.messaging; - -import static java.util.logging.Level.INFO; -import static org.briarproject.api.transport.TransportConstants.MAX_CLOCK_DIFFERENCE; - -import java.security.GeneralSecurityException; -import java.util.logging.Logger; - -import javax.inject.Inject; +package org.briarproject.sync; import org.briarproject.api.Author; import org.briarproject.api.crypto.CryptoComponent; @@ -14,12 +6,20 @@ import org.briarproject.api.crypto.KeyParser; import org.briarproject.api.crypto.MessageDigest; import org.briarproject.api.crypto.PublicKey; import org.briarproject.api.crypto.Signature; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.MessageVerifier; -import org.briarproject.api.messaging.UnverifiedMessage; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.MessageVerifier; +import org.briarproject.api.sync.UnverifiedMessage; import org.briarproject.api.system.Clock; +import java.security.GeneralSecurityException; +import java.util.logging.Logger; + +import javax.inject.Inject; + +import static java.util.logging.Level.INFO; +import static org.briarproject.api.transport.TransportConstants.MAX_CLOCK_DIFFERENCE; + class MessageVerifierImpl implements MessageVerifier { private static final Logger LOG = diff --git a/briar-core/src/org/briarproject/messaging/MessagingModule.java b/briar-core/src/org/briarproject/sync/MessagingModule.java similarity index 70% rename from briar-core/src/org/briarproject/messaging/MessagingModule.java rename to briar-core/src/org/briarproject/sync/MessagingModule.java index 1b58a8e577..205ca47177 100644 --- a/briar-core/src/org/briarproject/messaging/MessagingModule.java +++ b/briar-core/src/org/briarproject/sync/MessagingModule.java @@ -1,23 +1,23 @@ -package org.briarproject.messaging; +package org.briarproject.sync; -import javax.inject.Singleton; +import com.google.inject.AbstractModule; +import com.google.inject.Provides; import org.briarproject.api.Author; import org.briarproject.api.AuthorFactory; import org.briarproject.api.crypto.CryptoComponent; import org.briarproject.api.data.ObjectReader; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageVerifier; -import org.briarproject.api.messaging.MessagingSessionFactory; -import org.briarproject.api.messaging.PacketReaderFactory; -import org.briarproject.api.messaging.PacketWriterFactory; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.UnverifiedMessage; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageVerifier; +import org.briarproject.api.sync.MessagingSessionFactory; +import org.briarproject.api.sync.PacketReaderFactory; +import org.briarproject.api.sync.PacketWriterFactory; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.UnverifiedMessage; -import com.google.inject.AbstractModule; -import com.google.inject.Provides; +import javax.inject.Singleton; public class MessagingModule extends AbstractModule { @@ -47,7 +47,7 @@ public class MessagingModule extends AbstractModule { ObjectReader<UnverifiedMessage> getMessageReader( ObjectReader<Group> groupReader, ObjectReader<Author> authorReader) { - return new MessageReader(groupReader, authorReader); + return new org.briarproject.sync.MessageReader(groupReader, authorReader); } @Provides diff --git a/briar-core/src/org/briarproject/messaging/MessagingSessionFactoryImpl.java b/briar-core/src/org/briarproject/sync/MessagingSessionFactoryImpl.java similarity index 84% rename from briar-core/src/org/briarproject/messaging/MessagingSessionFactoryImpl.java rename to briar-core/src/org/briarproject/sync/MessagingSessionFactoryImpl.java index c7a31f6094..13c14244c0 100644 --- a/briar-core/src/org/briarproject/messaging/MessagingSessionFactoryImpl.java +++ b/briar-core/src/org/briarproject/sync/MessagingSessionFactoryImpl.java @@ -1,10 +1,4 @@ -package org.briarproject.messaging; - -import java.io.InputStream; -import java.io.OutputStream; -import java.util.concurrent.Executor; - -import javax.inject.Inject; +package org.briarproject.sync; import org.briarproject.api.ContactId; import org.briarproject.api.TransportId; @@ -12,15 +6,21 @@ import org.briarproject.api.crypto.CryptoExecutor; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DatabaseExecutor; import org.briarproject.api.event.EventBus; -import org.briarproject.api.messaging.MessageVerifier; -import org.briarproject.api.messaging.MessagingSession; -import org.briarproject.api.messaging.MessagingSessionFactory; -import org.briarproject.api.messaging.PacketReader; -import org.briarproject.api.messaging.PacketReaderFactory; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.PacketWriterFactory; +import org.briarproject.api.sync.MessageVerifier; +import org.briarproject.api.sync.MessagingSession; +import org.briarproject.api.sync.MessagingSessionFactory; +import org.briarproject.api.sync.PacketReader; +import org.briarproject.api.sync.PacketReaderFactory; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.PacketWriterFactory; import org.briarproject.api.system.Clock; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.concurrent.Executor; + +import javax.inject.Inject; + class MessagingSessionFactoryImpl implements MessagingSessionFactory { private final DatabaseComponent db; diff --git a/briar-core/src/org/briarproject/messaging/PacketReaderFactoryImpl.java b/briar-core/src/org/briarproject/sync/PacketReaderFactoryImpl.java similarity index 76% rename from briar-core/src/org/briarproject/messaging/PacketReaderFactoryImpl.java rename to briar-core/src/org/briarproject/sync/PacketReaderFactoryImpl.java index 1bca8fcee6..19766e31a2 100644 --- a/briar-core/src/org/briarproject/messaging/PacketReaderFactoryImpl.java +++ b/briar-core/src/org/briarproject/sync/PacketReaderFactoryImpl.java @@ -1,16 +1,16 @@ -package org.briarproject.messaging; +package org.briarproject.sync; + +import org.briarproject.api.data.ObjectReader; +import org.briarproject.api.data.ReaderFactory; +import org.briarproject.api.sync.PacketReader; +import org.briarproject.api.sync.PacketReaderFactory; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.UnverifiedMessage; import java.io.InputStream; import javax.inject.Inject; -import org.briarproject.api.data.ObjectReader; -import org.briarproject.api.data.ReaderFactory; -import org.briarproject.api.messaging.PacketReader; -import org.briarproject.api.messaging.PacketReaderFactory; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.UnverifiedMessage; - class PacketReaderFactoryImpl implements PacketReaderFactory { private final ReaderFactory readerFactory; diff --git a/briar-core/src/org/briarproject/messaging/PacketReaderImpl.java b/briar-core/src/org/briarproject/sync/PacketReaderImpl.java similarity index 87% rename from briar-core/src/org/briarproject/messaging/PacketReaderImpl.java rename to briar-core/src/org/briarproject/sync/PacketReaderImpl.java index a18b86e905..c5c8e5a09b 100644 --- a/briar-core/src/org/briarproject/messaging/PacketReaderImpl.java +++ b/briar-core/src/org/briarproject/sync/PacketReaderImpl.java @@ -1,21 +1,25 @@ -package org.briarproject.messaging; +package org.briarproject.sync; -import static org.briarproject.api.TransportPropertyConstants.MAX_PROPERTIES_PER_TRANSPORT; -import static org.briarproject.api.TransportPropertyConstants.MAX_PROPERTY_LENGTH; -import static org.briarproject.api.TransportPropertyConstants.MAX_TRANSPORT_ID_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.HEADER_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.PROTOCOL_VERSION; -import static org.briarproject.api.messaging.PacketTypes.ACK; -import static org.briarproject.api.messaging.PacketTypes.MESSAGE; -import static org.briarproject.api.messaging.PacketTypes.OFFER; -import static org.briarproject.api.messaging.PacketTypes.REQUEST; -import static org.briarproject.api.messaging.PacketTypes.RETENTION_ACK; -import static org.briarproject.api.messaging.PacketTypes.RETENTION_UPDATE; -import static org.briarproject.api.messaging.PacketTypes.SUBSCRIPTION_ACK; -import static org.briarproject.api.messaging.PacketTypes.SUBSCRIPTION_UPDATE; -import static org.briarproject.api.messaging.PacketTypes.TRANSPORT_ACK; -import static org.briarproject.api.messaging.PacketTypes.TRANSPORT_UPDATE; +import org.briarproject.api.FormatException; +import org.briarproject.api.TransportId; +import org.briarproject.api.TransportProperties; +import org.briarproject.api.UniqueId; +import org.briarproject.api.data.ObjectReader; +import org.briarproject.api.data.Reader; +import org.briarproject.api.data.ReaderFactory; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.PacketReader; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; +import org.briarproject.api.sync.UnverifiedMessage; +import org.briarproject.util.ByteUtils; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -26,31 +30,27 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.briarproject.api.FormatException; -import org.briarproject.api.TransportId; -import org.briarproject.api.TransportProperties; -import org.briarproject.api.UniqueId; -import org.briarproject.api.data.ObjectReader; -import org.briarproject.api.data.Reader; -import org.briarproject.api.data.ReaderFactory; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.PacketReader; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; -import org.briarproject.api.messaging.UnverifiedMessage; -import org.briarproject.util.ByteUtils; +import static org.briarproject.api.TransportPropertyConstants.MAX_PROPERTIES_PER_TRANSPORT; +import static org.briarproject.api.TransportPropertyConstants.MAX_PROPERTY_LENGTH; +import static org.briarproject.api.TransportPropertyConstants.MAX_TRANSPORT_ID_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.HEADER_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.PROTOCOL_VERSION; +import static org.briarproject.api.sync.PacketTypes.ACK; +import static org.briarproject.api.sync.PacketTypes.MESSAGE; +import static org.briarproject.api.sync.PacketTypes.OFFER; +import static org.briarproject.api.sync.PacketTypes.REQUEST; +import static org.briarproject.api.sync.PacketTypes.RETENTION_ACK; +import static org.briarproject.api.sync.PacketTypes.RETENTION_UPDATE; +import static org.briarproject.api.sync.PacketTypes.SUBSCRIPTION_ACK; +import static org.briarproject.api.sync.PacketTypes.SUBSCRIPTION_UPDATE; +import static org.briarproject.api.sync.PacketTypes.TRANSPORT_ACK; +import static org.briarproject.api.sync.PacketTypes.TRANSPORT_UPDATE; // This class is not thread-safe class PacketReaderImpl implements PacketReader { - private enum State { BUFFER_EMPTY, BUFFER_FULL, EOF }; + private enum State { BUFFER_EMPTY, BUFFER_FULL, EOF } private final ReaderFactory readerFactory; private final ObjectReader<UnverifiedMessage> messageReader; diff --git a/briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java b/briar-core/src/org/briarproject/sync/PacketWriterFactoryImpl.java similarity index 75% rename from briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java rename to briar-core/src/org/briarproject/sync/PacketWriterFactoryImpl.java index e3d7717741..4925e0eb2f 100644 --- a/briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java +++ b/briar-core/src/org/briarproject/sync/PacketWriterFactoryImpl.java @@ -1,13 +1,13 @@ -package org.briarproject.messaging; +package org.briarproject.sync; + +import org.briarproject.api.data.WriterFactory; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.PacketWriterFactory; import java.io.OutputStream; import javax.inject.Inject; -import org.briarproject.api.data.WriterFactory; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.PacketWriterFactory; - class PacketWriterFactoryImpl implements PacketWriterFactory { private final WriterFactory writerFactory; diff --git a/briar-core/src/org/briarproject/messaging/PacketWriterImpl.java b/briar-core/src/org/briarproject/sync/PacketWriterImpl.java similarity index 75% rename from briar-core/src/org/briarproject/messaging/PacketWriterImpl.java rename to briar-core/src/org/briarproject/sync/PacketWriterImpl.java index ced4d41791..62263d181e 100644 --- a/briar-core/src/org/briarproject/messaging/PacketWriterImpl.java +++ b/briar-core/src/org/briarproject/sync/PacketWriterImpl.java @@ -1,41 +1,41 @@ -package org.briarproject.messaging; +package org.briarproject.sync; -import static org.briarproject.api.data.DataConstants.LIST_END_LENGTH; -import static org.briarproject.api.data.DataConstants.LIST_START_LENGTH; -import static org.briarproject.api.data.DataConstants.UNIQUE_ID_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.HEADER_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.PROTOCOL_VERSION; -import static org.briarproject.api.messaging.PacketTypes.ACK; -import static org.briarproject.api.messaging.PacketTypes.OFFER; -import static org.briarproject.api.messaging.PacketTypes.REQUEST; -import static org.briarproject.api.messaging.PacketTypes.RETENTION_ACK; -import static org.briarproject.api.messaging.PacketTypes.RETENTION_UPDATE; -import static org.briarproject.api.messaging.PacketTypes.SUBSCRIPTION_ACK; -import static org.briarproject.api.messaging.PacketTypes.SUBSCRIPTION_UPDATE; -import static org.briarproject.api.messaging.PacketTypes.TRANSPORT_ACK; -import static org.briarproject.api.messaging.PacketTypes.TRANSPORT_UPDATE; +import org.briarproject.api.data.Writer; +import org.briarproject.api.data.WriterFactory; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.PacketTypes; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; +import org.briarproject.util.ByteUtils; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; -import org.briarproject.api.data.Writer; -import org.briarproject.api.data.WriterFactory; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.PacketTypes; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; -import org.briarproject.util.ByteUtils; +import static org.briarproject.api.data.DataConstants.LIST_END_LENGTH; +import static org.briarproject.api.data.DataConstants.LIST_START_LENGTH; +import static org.briarproject.api.data.DataConstants.UNIQUE_ID_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.HEADER_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.PROTOCOL_VERSION; +import static org.briarproject.api.sync.PacketTypes.ACK; +import static org.briarproject.api.sync.PacketTypes.OFFER; +import static org.briarproject.api.sync.PacketTypes.REQUEST; +import static org.briarproject.api.sync.PacketTypes.RETENTION_ACK; +import static org.briarproject.api.sync.PacketTypes.RETENTION_UPDATE; +import static org.briarproject.api.sync.PacketTypes.SUBSCRIPTION_ACK; +import static org.briarproject.api.sync.PacketTypes.SUBSCRIPTION_UPDATE; +import static org.briarproject.api.sync.PacketTypes.TRANSPORT_ACK; +import static org.briarproject.api.sync.PacketTypes.TRANSPORT_UPDATE; // This class is not thread-safe class PacketWriterImpl implements PacketWriter { diff --git a/briar-core/src/org/briarproject/messaging/SigningConsumer.java b/briar-core/src/org/briarproject/sync/SigningConsumer.java similarity index 92% rename from briar-core/src/org/briarproject/messaging/SigningConsumer.java rename to briar-core/src/org/briarproject/sync/SigningConsumer.java index 137cd8c614..4947cd6591 100644 --- a/briar-core/src/org/briarproject/messaging/SigningConsumer.java +++ b/briar-core/src/org/briarproject/sync/SigningConsumer.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import org.briarproject.api.crypto.Signature; import org.briarproject.api.data.Consumer; diff --git a/briar-core/src/org/briarproject/messaging/SimplexOutgoingSession.java b/briar-core/src/org/briarproject/sync/SimplexOutgoingSession.java similarity index 94% rename from briar-core/src/org/briarproject/messaging/SimplexOutgoingSession.java rename to briar-core/src/org/briarproject/sync/SimplexOutgoingSession.java index e77c3308d0..b82ff02012 100644 --- a/briar-core/src/org/briarproject/messaging/SimplexOutgoingSession.java +++ b/briar-core/src/org/briarproject/sync/SimplexOutgoingSession.java @@ -1,16 +1,4 @@ -package org.briarproject.messaging; - -import static java.util.logging.Level.INFO; -import static java.util.logging.Level.WARNING; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; - -import java.io.IOException; -import java.util.Collection; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.Executor; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.logging.Logger; +package org.briarproject.sync; import org.briarproject.api.ContactId; import org.briarproject.api.TransportId; @@ -22,18 +10,30 @@ import org.briarproject.api.event.EventBus; import org.briarproject.api.event.EventListener; import org.briarproject.api.event.ShutdownEvent; import org.briarproject.api.event.TransportRemovedEvent; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.MessagingSession; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.MessagingSession; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; + +import java.io.IOException; +import java.util.Collection; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Executor; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.logging.Logger; + +import static java.util.logging.Level.INFO; +import static java.util.logging.Level.WARNING; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; /** - * An outgoing {@link org.briarproject.api.messaging.MessagingSession + * An outgoing {@link MessagingSession * MessagingSession} suitable for simplex transports. The session sends * messages without offering them, and closes its output stream when there are * no more packets to send. diff --git a/briar-core/src/org/briarproject/messaging/SubscriptionUpdateReader.java b/briar-core/src/org/briarproject/sync/SubscriptionUpdateReader.java similarity index 81% rename from briar-core/src/org/briarproject/messaging/SubscriptionUpdateReader.java rename to briar-core/src/org/briarproject/sync/SubscriptionUpdateReader.java index 0632ada965..3b6b0594d4 100644 --- a/briar-core/src/org/briarproject/messaging/SubscriptionUpdateReader.java +++ b/briar-core/src/org/briarproject/sync/SubscriptionUpdateReader.java @@ -1,7 +1,12 @@ -package org.briarproject.messaging; +package org.briarproject.sync; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_SUBSCRIPTIONS; +import org.briarproject.api.FormatException; +import org.briarproject.api.data.Consumer; +import org.briarproject.api.data.ObjectReader; +import org.briarproject.api.data.Reader; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.SubscriptionUpdate; import java.io.IOException; import java.util.ArrayList; @@ -10,13 +15,8 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import org.briarproject.api.FormatException; -import org.briarproject.api.data.Consumer; -import org.briarproject.api.data.ObjectReader; -import org.briarproject.api.data.Reader; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.SubscriptionUpdate; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_SUBSCRIPTIONS; class SubscriptionUpdateReader implements ObjectReader<SubscriptionUpdate> { diff --git a/briar-core/src/org/briarproject/sync/ThrowingRunnable.java b/briar-core/src/org/briarproject/sync/ThrowingRunnable.java new file mode 100644 index 0000000000..5532a8fc0f --- /dev/null +++ b/briar-core/src/org/briarproject/sync/ThrowingRunnable.java @@ -0,0 +1,6 @@ +package org.briarproject.sync; + +interface ThrowingRunnable<T extends Throwable> { + + void run() throws T; +} diff --git a/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java b/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java index 07405398bf..e449d1e480 100644 --- a/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java +++ b/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java @@ -11,22 +11,22 @@ import org.briarproject.api.TransportProperties; import org.briarproject.api.crypto.CryptoComponent; import org.briarproject.api.crypto.KeyPair; import org.briarproject.api.crypto.SecretKey; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.MessageVerifier; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.PacketReader; -import org.briarproject.api.messaging.PacketReaderFactory; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.PacketWriterFactory; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportUpdate; -import org.briarproject.api.messaging.UnverifiedMessage; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.MessageVerifier; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.PacketReader; +import org.briarproject.api.sync.PacketReaderFactory; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.PacketWriterFactory; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportUpdate; +import org.briarproject.api.sync.UnverifiedMessage; import org.briarproject.api.transport.StreamContext; import org.briarproject.api.transport.StreamReaderFactory; import org.briarproject.api.transport.StreamWriterFactory; @@ -34,7 +34,7 @@ import org.briarproject.crypto.CryptoModule; import org.briarproject.data.DataModule; import org.briarproject.db.DatabaseModule; import org.briarproject.event.EventModule; -import org.briarproject.messaging.MessagingModule; +import org.briarproject.sync.MessagingModule; import org.briarproject.transport.TransportModule; import org.junit.Test; diff --git a/briar-tests/src/org/briarproject/TestMessage.java b/briar-tests/src/org/briarproject/TestMessage.java index 4249a809f4..bea7d78e83 100644 --- a/briar-tests/src/org/briarproject/TestMessage.java +++ b/briar-tests/src/org/briarproject/TestMessage.java @@ -1,9 +1,9 @@ package org.briarproject; import org.briarproject.api.Author; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; import java.io.ByteArrayInputStream; import java.io.InputStream; diff --git a/briar-tests/src/org/briarproject/db/DatabaseComponentTest.java b/briar-tests/src/org/briarproject/db/DatabaseComponentTest.java index 0c4c69792d..01dd33cb9f 100644 --- a/briar-tests/src/org/briarproject/db/DatabaseComponentTest.java +++ b/briar-tests/src/org/briarproject/db/DatabaseComponentTest.java @@ -33,19 +33,19 @@ import org.briarproject.api.event.MessagesSentEvent; import org.briarproject.api.event.SubscriptionAddedEvent; import org.briarproject.api.event.SubscriptionRemovedEvent; import org.briarproject.api.lifecycle.ShutdownManager; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.api.transport.IncomingKeys; import org.briarproject.api.transport.OutgoingKeys; import org.briarproject.api.transport.TransportKeys; @@ -58,7 +58,7 @@ import java.util.Collection; import java.util.Collections; import static org.briarproject.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.GROUP_SALT_LENGTH; import static org.briarproject.db.DatabaseConstants.MAX_OFFERED_MESSAGES; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -335,137 +335,187 @@ public abstract class DatabaseComponentTest extends BriarTestCase { try { db.addTransportKeys(contactId, createTransportKeys()); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateAck(contactId, 123); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateBatch(contactId, 123, 456); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateOffer(contactId, 123, 456); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateRetentionAck(contactId); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateRetentionUpdate(contactId, 123); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateSubscriptionAck(contactId); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateSubscriptionUpdate(contactId, 123); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateTransportAcks(contactId); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateTransportUpdates(contactId, 123); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.getContact(contactId); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.getInboxGroupId(contactId); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.incrementStreamCounter(contactId, transportId, 0); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { Ack a = new Ack(Collections.singletonList(messageId)); db.receiveAck(contactId, a); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.receiveMessage(contactId, message); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { Offer o = new Offer(Collections.singletonList(messageId)); db.receiveOffer(contactId, o); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { RetentionAck a = new RetentionAck(0); db.receiveRetentionAck(contactId, a); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { RetentionUpdate u = new RetentionUpdate(0, 1); db.receiveRetentionUpdate(contactId, u); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { SubscriptionAck a = new SubscriptionAck(0); db.receiveSubscriptionAck(contactId, a); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { SubscriptionUpdate u = new SubscriptionUpdate( Collections.<Group>emptyList(), 1); db.receiveSubscriptionUpdate(contactId, u); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { TransportAck a = new TransportAck(transportId, 0); db.receiveTransportAck(contactId, a); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { TransportUpdate u = new TransportUpdate(transportId, transportProperties, 1); db.receiveTransportUpdate(contactId, u); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.removeContact(contactId); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.setReorderingWindow(contactId, transportId, 0, 0, new byte[4]); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.setInboxGroup(contactId, group); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } context.assertIsSatisfied(); } @@ -496,17 +546,23 @@ public abstract class DatabaseComponentTest extends BriarTestCase { try { db.addContact(author, localAuthorId); fail(); - } catch (NoSuchLocalAuthorException expected) {} + } catch (NoSuchLocalAuthorException expected) { + // Expected + } try { db.getLocalAuthor(localAuthorId); fail(); - } catch (NoSuchLocalAuthorException expected) {} + } catch (NoSuchLocalAuthorException expected) { + // Expected + } try { db.removeLocalAuthor(localAuthorId); fail(); - } catch (NoSuchLocalAuthorException expected) {} + } catch (NoSuchLocalAuthorException expected) { + // Expected + } context.assertIsSatisfied(); } @@ -534,27 +590,37 @@ public abstract class DatabaseComponentTest extends BriarTestCase { try { db.getGroup(groupId); fail(); - } catch (NoSuchSubscriptionException expected) {} + } catch (NoSuchSubscriptionException expected) { + // Expected + } try { db.getMessageHeaders(groupId); fail(); - } catch (NoSuchSubscriptionException expected) {} + } catch (NoSuchSubscriptionException expected) { + // Expected + } try { db.getVisibility(groupId); fail(); - } catch (NoSuchSubscriptionException expected) {} + } catch (NoSuchSubscriptionException expected) { + // Expected + } try { db.removeGroup(group); fail(); - } catch (NoSuchSubscriptionException expected) {} + } catch (NoSuchSubscriptionException expected) { + // Expected + } try { db.setVisibility(groupId, Collections.<ContactId>emptyList()); fail(); - } catch (NoSuchSubscriptionException expected) {} + } catch (NoSuchSubscriptionException expected) { + // Expected + } context.assertIsSatisfied(); } @@ -606,42 +672,58 @@ public abstract class DatabaseComponentTest extends BriarTestCase { try { db.getConfig(transportId); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.getLocalProperties(transportId); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.getTransportKeys(transportId); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.mergeConfig(transportId, new TransportConfig()); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.mergeLocalProperties(transportId, new TransportProperties()); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.incrementStreamCounter(contactId, transportId, 0); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.removeTransport(transportId); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.setReorderingWindow(contactId, transportId, 0, 0, new byte[4]); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } context.assertIsSatisfied(); } diff --git a/briar-tests/src/org/briarproject/db/H2DatabaseTest.java b/briar-tests/src/org/briarproject/db/H2DatabaseTest.java index d771973a73..4c0b0b6e2e 100644 --- a/briar-tests/src/org/briarproject/db/H2DatabaseTest.java +++ b/briar-tests/src/org/briarproject/db/H2DatabaseTest.java @@ -14,10 +14,10 @@ import org.briarproject.api.TransportProperties; import org.briarproject.api.crypto.SecretKey; import org.briarproject.api.db.DbException; import org.briarproject.api.db.MessageHeader; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; import org.briarproject.api.transport.IncomingKeys; import org.briarproject.api.transport.OutgoingKeys; import org.briarproject.api.transport.TransportKeys; @@ -44,7 +44,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import static java.util.concurrent.TimeUnit.SECONDS; import static org.briarproject.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; import static org.briarproject.api.db.MessageHeader.State.STORED; -import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.GROUP_SALT_LENGTH; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/briar-tests/src/org/briarproject/messaging/ConstantsTest.java b/briar-tests/src/org/briarproject/sync/ConstantsTest.java similarity index 88% rename from briar-tests/src/org/briarproject/messaging/ConstantsTest.java rename to briar-tests/src/org/briarproject/sync/ConstantsTest.java index a96bdaee4c..6a935970e8 100644 --- a/briar-tests/src/org/briarproject/messaging/ConstantsTest.java +++ b/briar-tests/src/org/briarproject/sync/ConstantsTest.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import com.google.inject.Guice; import com.google.inject.Injector; @@ -17,18 +17,18 @@ import org.briarproject.api.crypto.CryptoComponent; import org.briarproject.api.crypto.KeyPair; import org.briarproject.api.crypto.PrivateKey; import org.briarproject.api.crypto.Signature; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.PacketWriterFactory; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.PacketWriterFactory; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.crypto.CryptoModule; import org.briarproject.data.DataModule; import org.briarproject.db.DatabaseModule; @@ -46,11 +46,11 @@ import static org.briarproject.api.AuthorConstants.MAX_SIGNATURE_LENGTH; import static org.briarproject.api.TransportPropertyConstants.MAX_PROPERTIES_PER_TRANSPORT; import static org.briarproject.api.TransportPropertyConstants.MAX_PROPERTY_LENGTH; import static org.briarproject.api.TransportPropertyConstants.MAX_TRANSPORT_ID_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_BODY_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_GROUP_NAME_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_SUBSCRIPTIONS; +import static org.briarproject.api.sync.MessagingConstants.MAX_BODY_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_GROUP_NAME_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_SUBSCRIPTIONS; import static org.junit.Assert.assertTrue; public class ConstantsTest extends BriarTestCase { @@ -65,7 +65,7 @@ public class ConstantsTest extends BriarTestCase { Injector i = Guice.createInjector(new TestDatabaseModule(), new TestLifecycleModule(), new TestSystemModule(), new CryptoModule(), new DatabaseModule(), new EventModule(), - new MessagingModule(), new DataModule()); + new org.briarproject.sync.MessagingModule(), new DataModule()); crypto = i.getInstance(CryptoComponent.class); groupFactory = i.getInstance(GroupFactory.class); authorFactory = i.getInstance(AuthorFactory.class); diff --git a/briar-tests/src/org/briarproject/messaging/ConsumersTest.java b/briar-tests/src/org/briarproject/sync/ConsumersTest.java similarity index 86% rename from briar-tests/src/org/briarproject/messaging/ConsumersTest.java rename to briar-tests/src/org/briarproject/sync/ConsumersTest.java index cdcb406c17..a9d4ed67ba 100644 --- a/briar-tests/src/org/briarproject/messaging/ConsumersTest.java +++ b/briar-tests/src/org/briarproject/sync/ConsumersTest.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import org.briarproject.BriarTestCase; import org.briarproject.api.FormatException; @@ -23,7 +23,8 @@ public class ConsumersTest extends BriarTestCase { messageDigest.update(data); byte[] dig = messageDigest.digest(); // Check that feeding a DigestingConsumer generates the same digest - DigestingConsumer dc = new DigestingConsumer(messageDigest); + org.briarproject.sync.DigestingConsumer + dc = new org.briarproject.sync.DigestingConsumer(messageDigest); dc.write(data[0]); dc.write(data, 1, data.length - 2); dc.write(data[data.length - 1]); @@ -34,7 +35,8 @@ public class ConsumersTest extends BriarTestCase { @Test public void testCountingConsumer() throws Exception { byte[] data = new byte[1234]; - CountingConsumer cc = new CountingConsumer(data.length); + org.briarproject.sync.CountingConsumer + cc = new org.briarproject.sync.CountingConsumer(data.length); cc.write(data[0]); cc.write(data, 1, data.length - 2); cc.write(data[data.length - 1]); @@ -42,7 +44,9 @@ public class ConsumersTest extends BriarTestCase { try { cc.write((byte) 0); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } @Test @@ -50,7 +54,8 @@ public class ConsumersTest extends BriarTestCase { byte[] data = new byte[1234]; new Random().nextBytes(data); // Check that a CopyingConsumer creates a faithful copy - CopyingConsumer cc = new CopyingConsumer(); + org.briarproject.sync.CopyingConsumer + cc = new org.briarproject.sync.CopyingConsumer(); cc.write(data[0]); cc.write(data, 1, data.length - 2); cc.write(data[data.length - 1]); diff --git a/briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java b/briar-tests/src/org/briarproject/sync/PacketReaderImplTest.java similarity index 78% rename from briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java rename to briar-tests/src/org/briarproject/sync/PacketReaderImplTest.java index 3850d0494c..f75550fdf1 100644 --- a/briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java +++ b/briar-tests/src/org/briarproject/sync/PacketReaderImplTest.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import com.google.inject.Guice; import com.google.inject.Injector; @@ -18,11 +18,11 @@ import java.io.ByteArrayOutputStream; import static org.briarproject.api.data.DataConstants.LIST_END_LENGTH; import static org.briarproject.api.data.DataConstants.UNIQUE_ID_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.HEADER_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.PacketTypes.ACK; -import static org.briarproject.api.messaging.PacketTypes.OFFER; -import static org.briarproject.api.messaging.PacketTypes.REQUEST; +import static org.briarproject.api.sync.MessagingConstants.HEADER_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.PacketTypes.ACK; +import static org.briarproject.api.sync.PacketTypes.OFFER; +import static org.briarproject.api.sync.PacketTypes.REQUEST; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; @@ -43,19 +43,23 @@ public class PacketReaderImplTest extends BriarTestCase { public void testFormatExceptionIfAckIsTooLarge() throws Exception { byte[] b = createAck(true); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); try { reader.readAck(); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } @Test public void testNoFormatExceptionIfAckIsMaximumSize() throws Exception { byte[] b = createAck(false); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); reader.readAck(); } @@ -64,31 +68,38 @@ public class PacketReaderImplTest extends BriarTestCase { public void testEmptyAck() throws Exception { byte[] b = createEmptyAck(); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); try { reader.readAck(); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } @Test public void testFormatExceptionIfOfferIsTooLarge() throws Exception { byte[] b = createOffer(true); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); try { reader.readOffer(); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } @Test public void testNoFormatExceptionIfOfferIsMaximumSize() throws Exception { byte[] b = createOffer(false); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); reader.readOffer(); } @@ -97,31 +108,38 @@ public class PacketReaderImplTest extends BriarTestCase { public void testEmptyOffer() throws Exception { byte[] b = createEmptyOffer(); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); try { reader.readOffer(); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } @Test public void testFormatExceptionIfRequestIsTooLarge() throws Exception { byte[] b = createRequest(true); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); try { reader.readRequest(); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } @Test public void testNoFormatExceptionIfRequestIsMaximumSize() throws Exception { byte[] b = createRequest(false); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); reader.readRequest(); } @@ -130,12 +148,15 @@ public class PacketReaderImplTest extends BriarTestCase { public void testEmptyRequest() throws Exception { byte[] b = createEmptyRequest(); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); try { reader.readRequest(); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } private byte[] createAck(boolean tooBig) throws Exception { diff --git a/briar-tests/src/org/briarproject/messaging/SimplexMessagingIntegrationTest.java b/briar-tests/src/org/briarproject/sync/SimplexMessagingIntegrationTest.java similarity index 91% rename from briar-tests/src/org/briarproject/messaging/SimplexMessagingIntegrationTest.java rename to briar-tests/src/org/briarproject/sync/SimplexMessagingIntegrationTest.java index 5aad3b5c08..9c0308b7b6 100644 --- a/briar-tests/src/org/briarproject/messaging/SimplexMessagingIntegrationTest.java +++ b/briar-tests/src/org/briarproject/sync/SimplexMessagingIntegrationTest.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import com.google.inject.Guice; import com.google.inject.Injector; @@ -20,16 +20,16 @@ import org.briarproject.api.event.Event; import org.briarproject.api.event.EventBus; import org.briarproject.api.event.EventListener; import org.briarproject.api.event.MessageAddedEvent; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageVerifier; -import org.briarproject.api.messaging.MessagingSession; -import org.briarproject.api.messaging.PacketReader; -import org.briarproject.api.messaging.PacketReaderFactory; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.PacketWriterFactory; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageVerifier; +import org.briarproject.api.sync.MessagingSession; +import org.briarproject.api.sync.PacketReader; +import org.briarproject.api.sync.PacketReaderFactory; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.PacketWriterFactory; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamContext; import org.briarproject.api.transport.StreamReaderFactory; @@ -53,7 +53,7 @@ import java.io.OutputStream; import java.util.Collections; import static org.briarproject.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.GROUP_SALT_LENGTH; import static org.briarproject.api.transport.TransportConstants.MAX_CLOCK_DIFFERENCE; import static org.briarproject.api.transport.TransportConstants.TAG_LENGTH; import static org.junit.Assert.assertEquals; @@ -87,7 +87,7 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { return Guice.createInjector(new TestDatabaseModule(dir), new TestLifecycleModule(), new TestSystemModule(), new CryptoModule(), new DatabaseModule(), new EventModule(), - new MessagingModule(), new DataModule(), + new org.briarproject.sync.MessagingModule(), new DataModule(), new TransportModule()); } @@ -149,7 +149,7 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { alice.getInstance(PacketWriterFactory.class); PacketWriter packetWriter = packetWriterFactory.createPacketWriter( streamWriter); - MessagingSession session = new SimplexOutgoingSession(db, + MessagingSession session = new org.briarproject.sync.SimplexOutgoingSession(db, new ImmediateExecutor(), eventBus, contactId, transportId, MAX_LATENCY, packetWriter); // Write whatever needs to be written @@ -216,7 +216,7 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { bob.getInstance(PacketReaderFactory.class); PacketReader packetReader = packetReaderFactory.createPacketReader( streamReader); - MessagingSession session = new IncomingSession(db, + MessagingSession session = new org.briarproject.sync.IncomingSession(db, new ImmediateExecutor(), new ImmediateExecutor(), eventBus, messageVerifier, contactId, transportId, packetReader); // No messages should have been added yet diff --git a/briar-tests/src/org/briarproject/messaging/SimplexOutgoingSessionTest.java b/briar-tests/src/org/briarproject/sync/SimplexOutgoingSessionTest.java similarity index 90% rename from briar-tests/src/org/briarproject/messaging/SimplexOutgoingSessionTest.java rename to briar-tests/src/org/briarproject/sync/SimplexOutgoingSessionTest.java index e618c3ec43..f3b27bf85b 100644 --- a/briar-tests/src/org/briarproject/messaging/SimplexOutgoingSessionTest.java +++ b/briar-tests/src/org/briarproject/sync/SimplexOutgoingSessionTest.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import org.briarproject.BriarTestCase; import org.briarproject.TestUtils; @@ -6,15 +6,16 @@ import org.briarproject.api.ContactId; import org.briarproject.api.TransportId; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.event.EventBus; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.PacketWriter; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.PacketWriter; import org.briarproject.plugins.ImmediateExecutor; import org.jmock.Expectations; import org.jmock.Mockery; import org.junit.Test; import java.util.Arrays; +import java.util.Collections; import java.util.concurrent.Executor; public class SimplexOutgoingSessionTest extends BriarTestCase { @@ -45,7 +46,8 @@ public class SimplexOutgoingSessionTest extends BriarTestCase { @Test public void testNothingToSend() throws Exception { - final SimplexOutgoingSession session = new SimplexOutgoingSession(db, + final org.briarproject.sync.SimplexOutgoingSession + session = new org.briarproject.sync.SimplexOutgoingSession(db, dbExecutor, eventBus, contactId, transportId, maxLatency, packetWriter); context.checking(new Expectations() {{ @@ -89,9 +91,10 @@ public class SimplexOutgoingSessionTest extends BriarTestCase { @Test public void testSomethingToSend() throws Exception { - final Ack ack = new Ack(Arrays.asList(messageId)); + final Ack ack = new Ack(Collections.singletonList(messageId)); final byte[] raw = new byte[1234]; - final SimplexOutgoingSession session = new SimplexOutgoingSession(db, + final org.briarproject.sync.SimplexOutgoingSession + session = new org.briarproject.sync.SimplexOutgoingSession(db, dbExecutor, eventBus, contactId, transportId, maxLatency, packetWriter); context.checking(new Expectations() {{ -- GitLab